2015-06-18 70 views
4

我想在每次單擊時切換按鈕的圖像。我的代碼如下所示:更改按鈕中的圖像背景不起作用

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

回答

1

設置生成操作內容,請使用正確的標籤爲您的烏里,刪除相對URI。

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

當您從本地資產準備URI時,應該使用ms-appx。 使用下面的代碼圖像

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