2011-07-03 77 views
0

我製作了自定義控件(帶有固定圖像的圓形按鈕)並測試了它的工作原理。但是,我想在其他項目中重用這個特定的控件,並因此考慮將它作爲一個類庫。但是,當我嘗試讓自定義控件顯示在其他應用程序中時,即使按鈕響應點擊,圖標也不會顯示。參考中的自定義控件無法正確呈現

我試圖在類庫項目中構建圖標作爲內容和資源,但測試卻無濟於事。 (當然,當我更新構建圖標時,我更改了代碼中圖標的地址)。目前,我決定將圖標/icons/myimage.png保留爲內容。而且,在類庫代碼(XAML)中,我以「/icons/myimage.png」的身份訪問它。

那麼,有沒有人有一個想法,我怎麼可以讓我的項目中正確渲染的圓形按鈕?我應該如何構建類庫項目?

+0

你使用資源構建操作嘗試過哪些uri? –

+0

@Georgi Stoyanov - 因此,這是因爲它已在參考DLL中配置:圖標存儲爲資源。當圖標構建爲Content時,。 MyLib是在構建類庫項目時創建的程序集。 –

回答

0

我試了一下,找到了解決辦法。這個想法是使用嵌入式資源將圖像存儲在dll中。然後由CustomControl加載它,可以使用結構是這樣的:在這裏

BitmapImage img = new BitmapImage(); 
img.SetSource(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyLib.icons.my_icon.png")); 

MyLib中是大會對類庫的名稱。圖標是資源保存在程序集中的文件夾。

0

我我就不會讓我的類庫的顯卡部分,因爲很有可能在未來你將需要自定義它,所以我的建議是讓下面的屬性自定義模塊中設定的圖像,你使用它:

public ImageSource ButtonImage {get { return <button image>; } set { <set button image>; } } 
+0

感謝您的回覆。但是,在這種特殊情況下,該控件上的圖標在各個項目中都不會改變。我理解你的觀點,但是,我不想在每個項目中都進行控制的配置。你有什麼我想達到的建議嗎? –