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