【发布时间】:2009-08-06 08:28:02
【问题描述】:
我目前正在创建一个自定义控件(基于 WPF DataGrid)。我想做的是在数据网格上设置默认样式。目前我正在设置有效的 Style 属性。但是当我创建一种样式来更改 fx 时,我的问题就出现了。主应用程序 app.xaml 中的背景颜色。然后我所有的“默认”样式都丢失了,DataGrid 看起来都是标准的,只有设置了背景属性。
我已经尝试在网格上的每个属性上使用 OverrideMetadata,我想对其应用默认值但没有运气。我也尝试在构造函数中设置每个属性,但由于属性优先,主应用程序中的样式永远不会被应用。
有什么想法吗?
提前致谢
【问题讨论】:
-
您是否尝试在自定义样式中设置“BasedOn”?
-
嗯,我想过,但为了能够做到这一点,我必须在我的网格控件上创建一个属性以获取默认样式,然后在我创建新样式的 app.xaml 中使用它与基于。我只是认为会有更好的解决方案。使用所有第三方控件,您可以创建新样式并设置一些属性,而无需再次实现完整样式。