这是我的问题:
我创建了一个窗口自定义控件。
public class NxChromeWindow : Window
然后我在通用资源中有默认主题:
<Style TargetType="{x:Type windows:NxChromeWindow}">
我的应用程序中有2个Windows实例:windows:NxChromeWindow和Window。
运行时一切正常。我看到2种不同的样式,但是使用设计师或Blend时。
很奇怪的事情发生了:
设计器采用windows:NxChromeWindow的样式,并将其应用于windows:NxChromeWindow和普通窗口。
我不知道这怎么可能。它如何将子类样式应用于基类?我显然给了TargetType =“ {x:Type windows:NxChromeWindow}”,所以我不明白Window在设计器中如何获得相同的样式。
你有好主意吗?
若昂
最佳答案
将此添加到NxChromeWindow的静态构造函数中:
static NxChromeWindow()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(NxChromeWindow), new FrameworkPropertyMetadata(typeof(NxChromeWindow)));
}
关于wpf - 设计器无法在Window自定义控件上获得良好的样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15406102/