2010-07-01 105 views
6

我試圖獲取一個按鈕以在XAML中顯示圖標。最初我想要粘貼一個字符,但vb Express 2008不會識別它是一個符號,因爲它不是一個普通的字符。然後我創建了一個圖標並嘗試設置按鈕圖像屬性來引用它,但這不存在,所以更多的痛苦。現在我已經使用項目資源來添加它在項目資源目錄中推送的圖標文件。如何在XAML中引用圖標資源文件引用

我想要做的是使用XAML來顯示圖標,在這個標籤:

<Button> 
<Image Source="{StaticResource UpArrow}"/> 
</Button> 

我非常希望能有像在一個單獨的文件和項目引用它。我對內容/資源問題有點困惑。

我試圖訪問它使用:

<UserControl.Resources> 
<BitmapImage x:Key="UpArrow" _ 
    UriSource="Resources/_25B2_Triangle__black__up_pointing.ico" /> 
</UserControl.Resources> 

我讀過有關的包裝組件,其龐大而混亂的一些東西。當然,將一個圖標放入資源文件應該可以很容易地使用/ Resources或類似的參考來引用,而不是絕對的文件路徑,否則,它有什麼意義?

我想在XAML中完成所有操作,而不是代碼隱藏,因爲這樣做完全可以由客戶端完成,但也許我並不清楚何時使用代碼。有了WPF,關於你在大規模中要做什麼以及爲什麼你會想要這麼做,除了MS總是不冷不熱地寫這些東西,這幾乎沒有什麼書面的 - 這不是很有幫助。

謝謝..

回答

8

做到這一點,最簡單的方法是:

<Button> 
<Image Source="Resources/_25B2_Triangle__black__up_pointing.ico"/> 
</Button> 

要記住的重要一點是,以確保您的圖標文件識別爲應用程序的有效資源。使用WPF,與舊的winform方法相比,您需要採取更多步驟。

在解決方案資源管理器中,展開「資源」文件夾,然後單擊「_25B2_Triangle_black_up_pointing.ico」文件。然後按F4查看屬性。確保'Build Action'屬性設置爲'Resource'。

+0

非常感謝,完美的工作,除了需要一些小小的調整,因爲一些白癡決定把逗號放在文件名中,vb.net轉換爲雙下劃線/反之亦然。 Build Action是關鍵的一點!只是發現了答覆,因爲通知似乎已被暫停。 – user326775 2010-10-06 14:52:09