WPF - 带有自定义DependencyProperties的ControlTemplate

时间:2013-10-13 17:13:18

标签: c# wpf styles dependency-properties controltemplate

我尝试将Button类型的 ControlTemplate 设为 DependencyProperties 。为此,我创建了一个名为“ControlButton”的类,并从Button继承它。我给这个类一个空构造函数,并尝试将此类与包含ControlTemplate的样式连接起来。

这是包含ControlTemplate的样式

<Style
    TargetType="{x:Type local:ControlButton}"
    x:Key="ControlButton"
    xmlns:local="clr-namespace:FileZip">
    <Setter
        Property="Template">
        <Setter.Value>
            <ControlTemplate
                TargetType="{x:Type local:ControlButton}">
                <Border>
                    <!-- ... -->
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

这是我的,可以帮助我添加一些 DependencyProperties 。我没有添加DependencyProperties,因为我想看看类和样式之间的连接是否有效:

namespace FileZip {
    public partial class ControlButton : Button {
        public ControlButton () : base() {}
    }
}

使用以下代码我尝试使用我的ControlButton

<StackPanel
    xmlns:local="clr-namespace:FileZip">
    <local:ControlButton
        Content="X" />
</StackPanel>

每当我尝试编译代码时,Visual Studio都会返回以下两个错误:

  • “名称'ControlButton'在名称空间'FileZip'中不存在”
  • “映射指令中缺少XmlNamespace,Assembly或ClrNamespace”

提前感谢您的帮助。

对不起,如果我的英语不是很好。

1 个答案:

答案 0 :(得分:1)

阅读说明如何将样式应用于自定义控件的部分。另请阅读“使用外部组件的示例”部分。

http://msdn.microsoft.com/en-us/library/cc295235.aspx