首页 文章

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

提问于
浏览
4

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

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

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

1 回答

  • 3

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

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

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

    如果我理解你,你已经为自定义滑块控件创建了一个 ControlTemplate . 如果是这样,您可以通过模板绑定绑定到模板中的属性:

    UPDATE

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

相关问题