之前我曾就AxisPanel问过这个问题:
Implicit styles not working in SciCharts WPF?
我开始注意到还有更多问题......不确定这是否已在“最后”更新中修复。
如果我创建一个隐式样式,请说...
<Style TargetType="{x:Type SciCharts:SciChartSurface}" BasedOn="{x:Type SciCharts:SciChartSurface}">
<Setter Property="BorderBrush" Value="Red" />
</Style>
完全忽略了这种风格。在所有事物的方案中,它被置于实际的SciChart之上,因此我的层次结构是:
<SomeControl>
<SomeControl.Resources>
Implicit Styles Here
</SomeControl.Resources>
<Some Other Control />
<SciChartSurface />
</SomeOtherControl>
BorderBrush本身是从DefaultStyle拉出来的,据说是(用Snoop检查)而不是ImplicitStyle(Snoop做了一个很棒的工作,告诉我们它从哪个拉出来 - 但不是哪里那个Style是位于)。 BorderBrush绑定到DefaultStyle并完全忽略Implicit Style中设置的内容。
我不确定是否有我遗漏的东西,但最终的结果是我们想要对我们所有的SciCharts进行一些应用程序范围的设置,并且很少支持这样做,除此之外从字面上看,必须在每个元素上指定一种风格。
我很好奇,根据我上一个问题(上面链接),这是一个“大”问题,不仅仅是AxisPanel并扩展到所有SciChart的控件/元素 - 而且不仅仅是AxisPanel更新了支持DefaultStyleKey?
提前致谢!
答案 0 :(得分:1)
我发现错误,在这种情况下,它似乎是在键盘和主席之间:P
你需要
<Style TargetType="{x:Type s:SciChartSurface}" BasedOn="{StaticResource {x:Type s:SciChartSurface}}">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="Margin" Value="10"/>
<Setter Property="BorderThickness" Value="10"/>
</Style>
不是
<Style TargetType="{x:Type s:SciChartSurface}" BasedOn="{x:Type s:SciChartSurface}">
<Setter Property="BorderBrush" Value="Red" />
<Setter Property="Margin" Value="10"/>
<Setter Property="BorderThickness" Value="10"/>
</Style>
我整理了一个显示how to set implicit styles on SciChartSurface, NumericAxis and AxisPanel here.的示例。
这包含如何隐式设置AxisPanel上的样式:
在构建v5.1.0.11306 as mentioned here中添加了AxisBase.AxisPanelStyle。