2016-09-04 6 views
4

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ß.

Default background

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.

Antwort

2

Es gibt eine Eigenschaft namens "BaseUri" ... versuchen Sie es zu Ihrem Code hinzufügen.

machen diese Änderungen:

private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e) 
    { 
     main.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri(this.BaseUri, "Assets/bg_2.jpg")), Stretch = Stretch.None }; 
    } 
+0

leider das Problem immer noch das gleiche ist. Leerer Hintergrund. Ich habe auch versucht, die UriKind.RelativeOrAbsolute, aber es macht keinen Unterschied. –

+0

Ja. Ich habe versucht alle möglichen Kombinationen dieser beiden Antworten –

+0

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? –

Verwandte Themen