[英]Changing Grid Image source on Button Click via Xaml.cs
我是Windows Store应用程序开发的新手。 我坚持尝试通过C#代码更改网格的图像。
这是我的Mainpage.Xaml代码
<Grid x:Name="BG" KeyDown="operation" Width="1327" Height="740">
<Grid.Background>
<ImageBrush Stretch="UniformToFill" ImageSource="Assets/background.jpg"/>
</Grid.Background>
<Button x:Name="ThemeButton" BorderBrush="{x:Null}" FontSize="14" Content="Theme 1" Margin="25,0,0,0" HorizontalAlignment="Left" Click="ChangeBG"></Button>
这是我的Mainpage.Xaml.cs代码
private void ChangeBG(object sender, RoutedEventArgs e)
{
ImageBrush b1 = new ImageBrush();
b1.ImageSource = new BitmapImage(new Uri(@"D:\Visual Studio Project File\Sadiqali Calculator\Sadiqali Calculator\Assets\Theme2.png"));
BG.Background = b1;
}
当按下按钮时,我得到的是黑色背景而不是图片。 上面的代码来自其他线程。
单击按钮后如何通过代码更改网格的图像源?
当我使用自己的图像时,您的代码在这里工作正常。
检查D:\\ Visual Studio项目文件\\ Sadiqali计算器\\ Sadiqali计算器\\ Assets \\ Theme2.png的位置...您确定这是有效的吗?
另外-如果通过单击按钮调用,ChangeBG将在UI线程上运行。
谢谢大家! 您已经帮助我解决了!
这就是我将代码更改为有效的方法。
ImageBrush b1 = new ImageBrush();
b1.ImageSource = new BitmapImage(new Uri(@"ms-appx:///Assets/Theme2.png", UriKind.RelativeOrAbsolute));
BG.Background = b1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.