WPF控件模板 - 如何创建自定义属性?

时间:2013-05-21 10:17:44

标签: c# wpf xaml blend

我目前正在使用Blend构建一个XAML UserControl库。

我为自定义WPF滑块类型创建了一个模板。我现在想要做的是为控件添加自定义画笔属性,这样可以在设计应用程序界面时轻松进行自定义(我的滑块设计有背景颜色,前景色和缩略图颜色)。这是可能的,如果是这样,它会出现在Blend界面吗?

我知道我可以创建一大堆样式,但仅仅改变一种颜色似乎有点过头了......

1 个答案:

答案 0 :(得分:3)

在UserControl的代码隐藏中,为要在模板中使用的画笔定义依赖项属性。

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

此属性将显示在VS设计器中,并在其他部分中显示为混合。

如果我理解正确,您已为自定义滑块控件创建了ControlTemplate。如果是这样,您可以通过模板绑定从模板中使用该属性:

<强>更新

好的,所以你要为标准滑块控件创建一个模板。您是否考虑在资源中定义用作ThumbnailBrush等的画笔,在资源字典中引用此资源字典来保存滑块模板并在模板中使用它们?在Blend中,您可以在 Resources 选项卡中修改它。