应用程序资源中的WPF样式

时间:2016-12-30 16:27:50

标签: wpf xaml wpf-controls .net-4.5 wpf-style

我在应用程序资源中有一种样式,我想将其应用于许多不同的饼图。风格如下:

<Style x:Key="aaa" TargetType="{x:Type nm:CustomChartControl}">
  <Setter Property="..." Value="..." />
  <!-- etc -->
  <nm:CustomChartControl.Series>
  <nm:PieSeries /> <!-- PROBLEM -->
  </nm:CustomChartControl.Series>
</Style>

为简单起见,我提到了很多属性。这一切都运作良好。现在,我的一些馅饼需要有一个不同的“模型”用于切片的背景(ex dashed),这就是问题发生。

当我为特定图表中的nm:PieSeries设置模型(在运行时)时,此模型也适用于应用程序中显示的所有其他饼图。好像只有一个实例被所有应用该样式的馅饼使用。

我是否有某种方法可以告诉它创建一个新的nm实例:每次将一个Style应用于新控件时,PieSeries是什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试将PieSeries创建为单独的非共享资源:

<nm:PieSeries x:Shared="False" x:Key="NonSharedPieSeries" />

然后在样式中使用该资源:

Value="{Binding Source={StaticResource NonSharedPieSeries}}" 

(...并且感谢OP纠正我如何将其绑定到Value的错误。)