我一直在寻找,老实说,我还没有解决这个非常简单的问题。我有一个弹出菜单,我已将事件附加到弹出菜单项。我想在选择项目时以编程方式更改我的XAML页面的背景图像。
<Grid x:Name="main">
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="Assets/bg_1.jpg"/>
</Grid.Background>
</Grid>
这是我作为背景获得的默认图像(网格基本上是整个页面)。
C#事件代码在这里:
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};
}
当我选择菜单项而不是将图像设置为背景时,它会使其变为白色。
我测试了,这不是图像的问题。我知道我做的事情就像一个明显的错误,但我对UWP有点新意,我找不到解决方案。
Here is the blank background after I select to change it
感谢您的时间,并为无知感到抱歉。
答案 0 :(得分:2)
有一个名为&#34; BaseUri&#34; ...的房产尝试将其添加到您的代码中。
进行以下更改:
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 };
}