Angenommen, ich mache eine einfache UWP-Anwendung, die durch mehrere Seiten navigiert. Ich möchte einen gemeinsamen Hintergrund für alle Seiten haben, abhängig davon, welchen Hintergrund ein Benutzer auf der Einstellungsseite ausgewählt hat.UWP Binding: Ändern von Hintergründen in XAML mit C#
Ich habe ein SettingsPage.xaml
mit einem comboBox (und Gitter-Hintergrund, die geändert werden muss):
<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>
, die mit meinem SettingsPage.xaml.cs
Datei-Schnittstellen:
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
}
ich gesetzt habe meine App.xaml
bis enthalten eine Hintergrundressource, aber ich bin mir nicht sicher, wie man es an die C# in Settings.xaml.cs
bindet.
<Application.Resources>
<Style TargetType="Grid" x:Key="CommonBackground">
<Setter Property="Background" Value="{ <!-- Some image. How to bind? --> }"
</Style>
</Application.Resources>
Was soll ich zurückgeben, um die Benutzerentscheidung an die Anwendungsressourcen zu binden?
Vielen Dank im Voraus!
Warum geben Sie eine eigene Farbvorlage - wenn Sie ganze Themen von Windows 10 unterstützen können? – Peter