【发布时间】:2011-10-19 00:36:36
【问题描述】:
我们可以制作 WPF 自定义控件来覆盖某些控件的外观和感觉,例如图标按钮。
public class MyButton : Button {
static MyButton()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(MyButton), new FrameworkPropertyMetadata(typeof(MyButton)));
}
...
}
但我认为这种方式有一些问题。当我分发 Custom Cotrol 'MyButton' 时,它会导致一些问题。因为MyButton 依赖于外部资源,所以WPF Style MyButton。所以我需要分发两个文件:MyButton.cs 和 MyButton.WPF。
那么,如何通过编程方式确定控制模板?
(当然,解决问题的另一种方法是制作 WPF 用户控件。但我的意思不是那样。)
注意:我找到了一些关于这个问题的资源。那是一个内联 XAML 脚本。但对我来说,XAML 脚本不是选项。因为我正在学习WPF所以我想自己了解WPF,而不是花招。
【问题讨论】: