我目前正在使用 Blend 构建一个 XAML UserControl 库。
我为我的自定义 WPF 滑块类型创建了一个模板。我现在想做的是为控件添加一个自定义画笔属性,这将允许在设计应用程序界面时轻松自定义(我的滑块设计有背景颜色、前景色和缩略图颜色)。这可能吗?如果可以,它会出现在 Blend 界面中吗?
我知道我可以创建大量样式,但仅更改单一颜色似乎有点过分......
在 UserControl 的代码隐藏中,为要在模板中使用的画笔定义依赖属性。
public static readonly DependencyProperty ThumbnailBrushProperty =
DependencyProperty.Register("Command", typeof (Brush), typeof (YourControl), new PropertyMetadata(default(Brush)));
此属性将显示在 VS 设计器中,并在Miscellaneous部分显示 Blend。
如果我理解正确,您已经ControlTemplate
为您的自定义滑块控件创建了一个。如果是这样,您可以通过模板绑定从模板中使用该属性:
更新
好的,所以您为标准滑块控件创建了一个模板。您是否考虑过在资源中定义您使用的画笔ThumbnailBrush
等,在包含滑块模板的资源字典中引用此资源字典并仅在模板中使用它们?在 Blend 中,您将能够在Resources选项卡中对其进行修改。