我正在创建一个自定义控件(派生自Control
),并希望为该控件定义默认主题。以前,我使用过所有我创建的自定义控件
static IntegerUpDown()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(IntegerUpDown),
new FrameworkPropertyMetadata(typeof(IntegerUpDown)));
}
具有以下
assembly
属性:[assembly: ThemeInfo(ResourceDictionaryLocation.SourceAssembly,
ResourceDictionaryLocation.SourceAssembly)]
实现此目的的另一种方法是(我在某些控件中也注意到了)-
public IntegerUpDown()
{
DefaultStyleKey = typeof(IntegerUpDown);
}
我想知道这两种方法的利弊,哪一种更可取?
最佳答案
我可以观察到第一种方法要求依赖项属性框架注册默认样式键。它只会执行一次(在静态构造函数中),然后再用于IntegerUpDown
的所有实例。第二种方法是在自己创建IntegerUpDown
实例时显式地分配Key。他们对我来说似乎都还可以。
MSDN说...
关于.net - 设置默认样式键的方法之间的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7646838/