【问题标题】:changing image background in button does not work在按钮中更改图像背景不起作用
【发布时间】:2015-06-18 10:22:10
【问题描述】:

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

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。”

【问题讨论】:

    标签: c# .net windows-phone-8.1 .net-4.5


    【解决方案1】:

    当您从本地资产准备 URI 时,您应该使用 ms-appx。 使用下面的代码

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

    【讨论】:

      【解决方案2】:

      将图像的构建操作设置为内容,为您的 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)) };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 2016-11-28
        • 1970-01-01
        • 1970-01-01
        • 2013-09-07
        • 2016-07-12
        • 1970-01-01
        相关资源
        最近更新 更多