2 つの xaml ファイルから userControl を作成しています。1 つはウィンドウ クラスから継承し、もう 1 つは userControl クラスから継承します。これを行う理由は、WPF を winForm に埋め込むためです。両方のファイルのリソース要素を新しい xaml ファイルのリソース要素にマージしているので、次の 2 つのスタイル要素があります (最初の要素は userControl xaml から、2 つ目はウィンドウの xaml から):
<UserControl.Resources>
<Style x:Key="NodeBorderStyle" TargetType="{x:Type Border}">
<Setter Property="Background" Value="LightGreen" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="BorderThickness" Value="3" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="{Binding Path=NodeHeight, Mode=OneTime}" />
<Setter Property="Padding" Value="4" />
<Setter Property="TextElement.FontWeight" Value="Normal" />
<Setter Property="Width" Value="{Binding Path=NodeWidth, Mode=OneTime}" />
<Style.Triggers>
<DataTrigger Binding="{Binding Path=HasCircularDependency, Mode=OneTime}" Value="True">
<Setter Property="Background" Value="Red" />
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="TextElement.FontWeight" Value="Bold" />
</DataTrigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type local:NodeConnector}">
<Setter Property="ArrowLength" Value="12" />
<Setter Property="Stroke" Value="Gray" />
<Setter Property="StrokeThickness" Value="3" />
<Style.Triggers>
<Trigger Property="IsPartOfCircularDependency" Value="True">
<Setter Property="Stroke" Value="DarkRed" />
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
これらのスタイルの両方ではなく、一度に 1 つのみが機能するという問題は、どうすれば回避できますか?
編集最初のスタイルはノードのスタイル設定で、2 番目のスタイルはこれらのノード間のコネクタのスタイル設定です。