XAML 从设置页面即时更改主页面网格的背景颜色,NET MAUI

lyfkaqu1  于 2023-03-06  发布在  其他
关注(0)|答案(2)|浏览(322)

新的MAUI,我有一个主页,我有一个设置页面,让我们说,我想改变一个网格的背景色内MainPage.xaml从设置页面,并有其影响立即应用.我该怎么做?
我已经知道如何在应用程序重启时应用它,方法是为网格分配一个名称,然后使用首选项在MainPage的构造函数上将新颜色分配给网格的背景。但我如何在无需重启应用程序的情况下应用它?
我试过直接从设置页面访问它,但没有工作。

evrscar2

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}"

希望这有帮助!

rvpgvaaj

rvpgvaaj2#

在设置页面的. xaml.cs中:

Navigation.PushAsync(new MainPage(Colors.BlueViolet));

MainPage.xaml.cs:

public MainPage (Color backgroundColor)
{
   InitializeComponent ();
   grid.BackgroundColor = backgroundColor;
}

相关问题