为了在我的应用程序中获得一个共同的外观和感觉,我为我的所有TextBlock
元素定义了一个全局样式,如下所示:
MainSkin.xaml
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Margin" Value="5,0,5,0"/>
</Style>
不幸的是,这弄乱了一个图表元素(来自外部 visifire 库),我使用并剪切了一些文本元素(在屏幕截图中用红色矩形标记):
查看.xaml
xmlns:vc="clr-namespace:Visifire.Charts;assembly=WPFVisifire.Charts"
<vc:Chart>
<vc:Chart.Titles>
<vc:Title Text="SomeTitle" />
</vc:Chart.Titles>
<vc:Chart.AxesX>
<vc:Axis Title="X" TitleFontSize="12" />
</vc:Chart.AxesX>
<vc:Chart.AxesY>
<vc:Axis Title="Y" TitleFontSize="12"/>
</vc:Chart.AxesY>
</vc:Chart>
通过测试,我知道样式的Margin
设置导致了这种情况。TextBlock
我猜在Chart
元素内部的某个地方,他们使用了TextBlock
我的风格所影响的。
如何告诉 Xaml 中的 Chart 元素及其子元素忽略全局 TextBlock 样式?
我尝试将图表样式设置为空,但没有成功。
注意事项:
- 我不想编辑图表中使用的外部源代码
- 我不想在我的风格中使用 ax:Key