Ich habe eine Weile gesucht und ehrlich gesagt habe ich dieses wirklich einfache Problem nicht gelöst. Ich habe ein Flyout-Menü und ich habe ein Ereignis an einen Flyout-Menüpunkt angehängt. Ich möchte programmgesteuert das Hintergrundbild meiner XAML-Seite ändern, wenn ich das Element auswähle.UWP Programmatisches Ändern des Hintergrundbildes der XAML-Seite C#
<Grid x:Name="main">
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="Assets/bg_1.jpg"/>
</Grid.Background>
</Grid>
Dies ist das Standardbild, das ich als Hintergrund bekommen habe (das Raster ist im Grunde die ganze Seite).
Der C# Ereigniscode ist hier:
private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
{
main.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("ms-appx:///MTG Life Counter/Assets/bg_2.jpg")) , Stretch = Stretch.None};
}
Wenn ich den Menüpunkt statt Einstellung das Bild als Hintergrund wählen, macht es weiß.
I getestet und es ist kein Thema des Bildes. Ich weiß, dass ich so etwas wie einen offensichtlichen Fehler mache, aber ich bin ein bisschen neu für UWP und ich konnte keine Lösung finden.
Here is the blank background after I select to change it
Dank für Ihre Zeit und sorry für die Unwissenheit.
leider das Problem immer noch das gleiche ist. Leerer Hintergrund. Ich habe auch versucht, die UriKind.RelativeOrAbsolute, aber es macht keinen Unterschied. –
Ja. Ich habe versucht alle möglichen Kombinationen dieser beiden Antworten –
die UriKind.RelativeOrAbsolute Methode hat keine Verwendung in UWP-Projekten (es ist eine Methode aus der Welt WPF) ... Sie haben das Bild zu Ihrem Projekt richtig hinzugefügt? –