应用程序资源中的WPF样式

应用程序资源中的WPF样式,wpf,xaml,wpf-controls,.net-4.5,wpf-style,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 /> <!-- PRO

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

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

为了简单起见,我排除了很多属性。这一切都很好。现在,我的一些馅饼需要有一个不同的“模型”来为一个切片绘制背景(如虚线所示),这就是问题发生的原因

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


是否有某种方法可以告诉它在每次将样式应用于新控件时创建nm:PieSeries的新实例?

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

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

(…感谢OP纠正了我在如何将它绑定到
)方面的错误。

您可以尝试创建一个单独的资源
,并将其用作
值=“{StaticResource NonSharedPieSeries}”/>
@Ed Plunkett,尽管有必要使用Value={Binding Source={StaticResource…}).修改你的答案并贴出来,这样我就可以接受了
Value="{Binding Source={StaticResource NonSharedPieSeries}}"