在按钮中更改图像背景不起作用

本文关键字:图像 背景 不起作用 按钮 | 更新日期: 2023-09-27 17:56:58

我想在每次点击时切换按钮的图像。我的代码如下所示:

private void k1_Click(object sender, RoutedEventArgs e)
{
    bk1 = !bk1;
    k1.Content = bk1.ToString();
    var uriString = bk1 ? @"Assets/image1.png" : @"Assets/image2.png";
    k1.Background = new ImageBrush {  
        ImageSource = new BitmapImage(new Uri(uriString, UriKind.Relative)) 
    };
}

当我单击按钮时,出现异常

System.ArgumentException : "给定的 System.Uri 不能 转换为Windows.Foundation.Uri。

在按钮中更改图像背景不起作用

从本地资产准备 URI 时,应使用 ms-appx。使用以下代码

var uriString = bk1 ? @"ms-appx:Assets/image1.png" : @"ms-appx:Assets/image2.png";

将图像的构建操作设置为内容,为 Uri 使用正确的标记,删除相对 URI。

var uriString = bk1 ? @"ms-appx:/Assets/image1.png" : @"ms-appx:/Assets/image2.png";
k1.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri(uriString)) };