新的MAUI,我有一个主页,我有一个设置页面,让我们说,我想改变一个网格的背景色内MainPage.xaml从设置页面,并有其影响立即应用.我该怎么做?我已经知道如何在应用程序重启时应用它,方法是为网格分配一个名称,然后使用首选项在MainPage的构造函数上将新颜色分配给网格的背景。但我如何在无需重启应用程序的情况下应用它?我试过直接从设置页面访问它,但没有工作。
evrscar21#
您可以使用DynamicResource,您可以定义颜色,然后从SettingsPage更改它,它将被更新,您可以在App中定义您的颜色。Xaml
<Color x:Key="PrimaryColor">#2196F3</Color> <Color x:Key="SecondaryColor">#FFC107</Color>
然后在运行时更新它
Application.Current.Resources["PrimaryColor"] = Color.Red;
此颜色应在控件中与DynamicResource关键字一起使用
BackgroundColor="{DynamicResource PrimaryColor}"
希望这有帮助!
rvpgvaaj2#
在设置页面的. xaml.cs中:
Navigation.PushAsync(new MainPage(Colors.BlueViolet));
MainPage.xaml.cs:
public MainPage (Color backgroundColor) { InitializeComponent (); grid.BackgroundColor = backgroundColor; }
2条答案
按热度按时间evrscar21#
您可以使用DynamicResource,您可以定义颜色,然后从SettingsPage更改它,它将被更新,您可以在App中定义您的颜色。Xaml
然后在运行时更新它
此颜色应在控件中与DynamicResource关键字一起使用
希望这有帮助!
rvpgvaaj2#
在设置页面的. xaml.cs中:
MainPage.xaml.cs: