2013-05-21 110 views
4

我目前正在使用Blend構建一個XAML UserControl庫。WPF控制模板 - 如何創建自定義屬性?

我爲我的自定義WPF滑塊類型創建了一個模板。我現在想要做的是爲控件添加一個自定義畫筆屬性,這將允許在設計應用程序界面(我的滑塊設計具有背景顏色,前景色和縮略圖顏色)時進行輕鬆自定義。這是可能的,如果是的話,它會出現在Blend界面嗎?

我知道我可以只創建一個樣式負荷,但似乎矯枉過正只是改變單一的顏色...

+0

您是否在尋找自定義依賴屬性。 http://msdn.microsoft.com/en-us/library/ms753358.aspx。 – Jatin

回答

3

在你的用戶控件的代碼隱藏,定義要在使用刷子依賴屬性你的模板。

public static readonly DependencyProperty ThumbnailBrushProperty = 
      DependencyProperty.Register("Command", typeof (Brush), typeof (YourControl), new PropertyMetadata(default(Brush))); 

此屬性將在VS設計顯示出來,並在其他部分融爲一體。

如果我理解你的話,你已經爲你的自定義滑塊控件創建了一個ControlTemplate。如果是這樣,你可以通過一個模板綁定綁定使用它從模板中的屬性:

UPDATE

好了,你創建的標準滑塊控件模板。您是否考慮過在資源中定義您用作ThumbnailBrush等的畫筆,在包含滑塊模板的資源字典中引用此資源字典,並在模板中使用它們?在Blend中,您將無法在Resources選項卡中對其進行修改。

+0

謝謝馬克。目前我的控件是在沒有附加.cs文件的XAML文件中的ResourceDictionary中定義的。據推測我需要手動創建一個? – impsnldavid

+0

您的意思是您正在爲標準滑塊控件定義自定義控件模板?那麼沒有真正的自定義控件? – Marc

+0

是的,它是標準控件的模板版本。對不起,如果這不明確。 – impsnldavid

相關問題