XAML和代码中的Windows 10主题资源

时间:2015-08-21 02:28:29

标签: c# xaml

如果我在XAML中创建一个带有主题背景的网格:

<Grid x:Name="MyGrid" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

然后在代码中更改其主题:

MyGrid.RequestedTheme = ElementTheme.Dark;

网格背景颜色从白色变为黑色,与预期完全一样。

但是,如果我在XAML中创建网格而未指定其背景:

<Grid x:Name="MyGrid">

然后执行此代码:

MyGrid.RequestedTheme = ElementTheme.Dark;
MyGrid.Background = MyGrid.Resources["ApplicationPageBackgroundThemeBrush"] as Brush;

背景不会变为黑色。换句话说,当在代码中访问时,主题资源似乎不依赖于当前请求的元素主题。

有人知道如何访问代码中的主题资源,以便它们的值正确反映元素当前请求的主题吗?

0 个答案:

没有答案