繁体   English   中英

通过Xaml.cs更改Button单击上的网格图像源

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM