2013-05-21 74 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

相关问题