我一直在寻找,老实说,我还没有解决这个非常简单的问题.我有一个弹出菜单,我已将事件附加到弹出菜单项.我想在选择项目时以编程方式更改我的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
谢谢你的时间,抱歉无知.
最佳答案 有一个名为“BaseUri”的属性…尝试将其添加到您的代码中.
进行这些更改:
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 };
}