XAML形式のトリガーのセットがありますが、まったく同じ変数にバインドされているにもかかわらず、1つのセットが機能し、もう1つのセットが機能しない理由を一生理解できません。
まず、機能するトリガー:
<StackPanel Orientation="Vertical" Margin="25,0,0,0">
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="Separator">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="25,0,0,0">
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="BubblePoint">
<Setter Property="IsEnabled" Value="True" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
</StackPanel>
このトリガーは美しく機能します。これで、まったく機能しない非常に類似したトリガーを持つGroupBoxとLabelができました。動作しないトリガー:
<GroupBox Header="Recombined Gas" Grid.Row="1" Grid.ColumnSpan="2">
<GroupBox.Style>
<Style TargetType="{x:Type GroupBox}">
<Setter Property="Header" Value="Recombined Gas" />
<Style.Triggers>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="Separator">
<Setter Property="Header" Value="Separator Gas" />
</DataTrigger>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="BubblePoint">
<Setter Property="Header" Value="Dissolved Gas" />
</DataTrigger>
</Style.Triggers>
</Style>
</GroupBox.Style>
</GroupBox>
そして、機能しないラベルトリガー:
<Label Content="Reombined GOR" Width="90">
<Label.Style>
<Style TargetType="{x:Type Label}">
<Setter Property="Content" Value="Recombined GOR" />
<Style.Triggers>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="Separator">
<Setter Property="Content" Value="Separator GOR" />
</DataTrigger>
<DataTrigger Binding="{Binding GorOption.InternalName}" Value="BubblePoint">
<Setter Property="Content" Value="Dissolved GOR" />
</DataTrigger>
</Style.Triggers>
</Style>
</Label.Style>
</Label>
ここで基本的な何かが欠けているような気がしますが、今はそれが私を逃れています。ご覧のとおり、すべてのトリガーは同じ値にバインドされ、同じオプションでトリガーされます。1つのTriggersブロックで同じ変数にバインドしようとしている2つのDataTriggerブロックがあるためですか?これが問題になるとは想像できません。実際、他の場所でこれを行っていると確信しています。私が知らないのはLabelとGroupBoxに固有のものですか?