我遇到以下问题:我创建了一个自定义控件,它继承自已存在的控件,即
public class CustomButton : Button
{
public Boolean AdditionalProperty { get; set; }
}
这没有问题,但是如果我尝试设置元素的样式,它就不会应用样式
<style TargetType="local:CustomButton">
<!-- Setters -->
</style>
我做错了什么?我以编程方式添加CustomButton,这是问题吗?我也尝试了以下内容:
CustomButton customButton = new CustomButton();
customButton.Style = FindResource("<key>");
someGrid.Children.Add(customButton);
答案 0 :(得分:1)
尝试TargetType="{x:Type local:CustomButton}"
编辑:
WPF支持启用的技术 指定某些值 类型Type的属性没有 需要x:类型标记扩展名 用法。相反,您可以指定 value作为命名类型的字符串。 这方面的例子是 ControlTemplate.TargetType和 Style.TargetType。支持这一点 没有通过提供行为 无论是类型转换器还是标记 扩展。相反,这是一个 延期行为通过实施 FrameworkElementFactory。
来源:MSDN