【发布时间】:2017-06-29 16:27:55
【问题描述】:
假设我正在制作一个简单的 UWP 应用程序,它可以浏览多个页面。我希望所有页面都有一个共同的背景,具体取决于用户从“设置”页面中选择的背景。
我有一个带有组合框的SettingsPage.xaml(以及需要更改的网格背景):
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ComboBox Name="ColourSelect" SelectionChanged="ComboBox_SelectionChanged">
<ComboBoxItem Name="Red">Red</ComboBoxItem>
<ComboBoxItem Name="Green">Green</ComboBoxItem>
<ComboBoxItem Name="Blue">Blue</ComboBoxItem>
</ComboBox>
</Grid>
与我的SettingsPage.xaml.cs 文件的接口:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
// Change background
if (Red.IsSelected) { } // Change to Red.png
else if (Green.IsSelected) { } // Change to Green.png
else if (Blue.IsSelected) { } // Change to Blue.png
}
我已将我的App.xaml 设置为包含后台资源,但我不确定如何将其绑定到Settings.xaml.cs 中的C#。
<Application.Resources>
<Style TargetType="Grid" x:Key="CommonBackground">
<Setter Property="Background" Value="{ <!-- Some image. How to bind? --> }"
</Style>
</Application.Resources>
我应该返回什么来将用户决策绑定到应用程序资源?
提前谢谢你!
【问题讨论】:
-
为什么要提供自己的颜色模板 - 当您可以支持 Windows 10 的整个主题时?
标签: xaml data-binding uwp uwp-xaml