cuốn sách gpt4 ai đã làm

c# - 如何以编程方式更改 Win 8.1 或 Win 10 UWP 应用程序的背景主题?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 13:53:30 28 4
mua khóa gpt4 Nike

Tôi có một ứng dụng dành cho Windows Phone 8.1 và phiên bản UWP của nó. Tôi muốn tự động thay đổi nền của ứng dụng khi nó được thay đổi trong Windows.

Các trường hợp sử dụng là:

  1. Khởi chạy ứng dụng với chủ đề nền tối.
  2. Nhấn nút home trên điện thoại của bạn
  3. Thay đổi chủ đề nền thành màu sáng
  4. Quay lại ứng dụng (về cơ bản là chuyển sang ứng dụng này từ nền)
  5. Chủ đề được áp dụng sẽ tự động thay đổi sang chủ đề mới

Tôi muốn nó kết thúc như thế này mà không cần khởi động lại. Tôi đã thấy điều này xảy ra trong các ứng dụng khác, vì vậy điều đó chắc chắn có thể xảy ra nhưng tôi không thể hiểu được.

Nếu cần khởi động lại, giải pháp đó cũng hoạt động như giải pháp B.

Cảm ơn.

câu trả lời hay nhất

Tôi khuyên bạn nên tạo một lớp đơn để lưu trữ trạng thái AppTheme và triển khai giao diện INotifyPropertyChanged

Cài đặt lớp công khai: INotifyPropertyChanged
{
phiên bản Cài đặt dễ bay hơi tĩnh riêng tư;
đối tượng chỉ đọc tĩnh riêng tư SyncRoot = new object();
ứng dụng ElementTheme riêngTheme;

cài đặt riêng tư()
{
this.appTheme = ApplicationData.Current.LocalSettings.Values.ContainsKey("AppTheme")
? (Chủ đề phần tử)ApplicationData.Current.LocalSettings.Values["AppTheme"]
: ElementTheme.Default;
}

Cài đặt tĩnh công khai
{
lấy
{
nếu (ví dụ != null)
{
return instance;
}

khóa (SyncRoot)
{
nếu (ví dụ == null)
{
dụ = Cài đặt mới();
}
}

return instance;
}
}

Chủ đề ứng dụng ElementTheme công cộng
{
lấy
{
trả lại this.appTheme;
}

set
{
ApplicationData.Current.LocalSettings.Values["AppTheme"] = (int)value;
this.OnPropertyChanged();
}
}

public event PropertyChangedEventHandler PropertyChanged;

khoảng trống ảo được bảo vệ OnPropertyChanged([CallerMemberName] chuỗi propertyName = null)
{
this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}

Sau đó, bạn có thể tạo cài đặt thuộc tính trên trang, cài đặt này sẽ trả về giá trị của singleton và liên kết requestedTheme của trang với thuộc tính AppTheme

<>
x:Class="Trang mẫu"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Đã yêu cầuTheme="{x:Cài đặt liên kết.AppTheme, Mode=OneWay}">

Làm cách nào để thay đổi chủ đề nền của ứng dụng Win 8.1 hoặc Win 10 UWP theo lập trình? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/33753017/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress