複数の編集済みオブジェクトに使用できるエディタービューがあります。複数のオブジェクトのビューモデルは、処理する必要のあるフィールドごとに、Bool型のField1Multipleのようなプロパティを提供します。この場合、現時点ではComboBoxコントロールのみです。そのフィールドに複数の異なる値を指定する場合は常に、App.xamlで定義されているそのコントロールに特定のスタイルを適用する必要があります。このスタイルは、コントロールの背景を変更して、ここに表示できる単一の値がないことを視覚化します。
私はこのXAMLコードで試しました:
<ComboBox
ItemsSource="{Binding Project.Field1Values}" DisplayMemberPath="DisplayName"
SelectedItem="{Binding Field1}">
<ComboBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding Field1Multiple}" Value="true">
<Setter
Property="ComboBox.Style"
Value="{StaticResource MultiValueCombo}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
ただし、Style内からStyleプロパティを設定できないため、機能しません。コントロールで直接トリガーを使用する場合、EventTriggersのみが存在し、DataTriggersは存在しない可能性があるとコンパイラーは言います。
バインディング値に基づいてコントロールのスタイルを設定するにはどうすればよいですか?または、バインディング値がtrueの場合、コントロールに特定のスタイルを設定するにはどうすればよいですか?