2016-01-07 117 views
0

按鈕單擊我想要將畫布圖像(背景圖像)更改爲文件夾中的另一圖像(圖像是文件夾名稱)。這是我曾嘗試:在按鈕上更改畫布圖像單擊wpf

private void Button_Click_2(object sender, RoutedEventArgs e) 
    { 
     drawingCanvas.Children.Clear(); 
     ImageBrush imageBrush = new ImageBrush(); 
     imageBrush.ImageSource = new BitmapImage((new Uri(@"../Images/canvas.png", UriKind.Relative))); 
     drawingCanvas.Background = imageBrush; 

}

首先,我清空畫布的內容,刪除以前的圖像。現在想要將背景設置爲其他圖像。錯誤:URI沒有處理異常。任何解決方案將不勝感激。謝謝。

+1

它看起來像無法找到圖像。你確定圖像路徑是可訪問的嗎? – ChrisF

+0

您的畫布是否包含圖像,還是使用圖像繪製背景?你正在使用'.Children.Clear',它暗示它包含一個Image對象,但是然後試圖使用'ImageBrush'來繪製背景,這是不同的。這聽起來像你真正想要的是將圖像內的圖像,並更改它的源屬性 – Rachel

+0

圖像路徑是可訪問的。圖像基本上是空白的,用戶可以在其上繪製。首先,用戶可以選擇畫一個空的畫布,或者他可以上傳地圖並在其上繪製。當他刪除地圖時,他應該能夠在空畫布上再次繪製,這就是爲什麼我要將畫布背景更改爲空白。 – lata

回答

0

的圖像資源由Resource File Pack URI加載:

imageBrush.ImageSource = new BitmapImage(
    new Uri("pack://application:,,,/Images/canvas.png")); 

另外,圖像文件的Build Action必須被設置爲Resource,如圖this answer

+0

非常感謝。它的工作:D – lata