C# 在WPF中,是否可以使用TemplateBinding来设置模板按钮的圆角半径?

C# 在WPF中,是否可以使用TemplateBinding来设置模板按钮的圆角半径?,c#,wpf,button,controltemplate,cornerradius,C#,Wpf,Button,Controltemplate,Cornerradius,我有一个按钮控件TemplateTemplate,我想重用它,除了它边框的CornerRadius,我想从TemplatedParent获得它,这样我可以在按钮声明中指定它 不幸的是,CornerRadius不是Button的属性,因此编译器不喜欢它 我想有两种方法可以成功,但我真的不喜欢它们 滥用一个我没有使用的字段(比如MinWidth?)来传达这个新半径。不确定这是否有效,因为int不完全是拐角半径 创建Button的子类以添加CornerRadius并使用它 还有其他方法我可能会错过吗?

我有一个按钮控件TemplateTemplate,我想重用它,除了它边框的CornerRadius,我想从TemplatedParent获得它,这样我可以在按钮声明中指定它

不幸的是,CornerRadius不是Button的属性,因此编译器不喜欢它

我想有两种方法可以成功,但我真的不喜欢它们

  • 滥用一个我没有使用的字段(比如MinWidth?)来传达这个新半径。不确定这是否有效,因为int不完全是拐角半径
  • 创建Button的子类以添加CornerRadius并使用它

  • 还有其他方法我可能会错过吗?

    我唯一能想到的是为CornerRadius创建AttachedProperty并将其附加到按钮,然后绑定到该按钮。不过,我不确定通过TemplatedParent绑定到AttachedProperty是否有效


    此外,仅创建派生按钮类的代码可能比创建AttachedProperty的代码要少。因此,它可能不值得。它可能确实值得复制。不过,考虑到这篇文章的标题,难怪我没有找到它。你的答案似乎与@eren ersonmez指出的重复线程上的答案相匹配,所以我想这是我能得到的最好答案。