У меня есть два списка, и я пытаюсь очистить выделение одного списка, когда мы выбираем элемент в другом списке.
<ListBox Name="listBox1" HorizontalAlignment="Left" ItemsSource="{Binding MyData}" SelectedItem="{Binding SelectedItem1,Mode=TwoWay}">
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=listBox2, Path=SelectedItem, Converter={StaticResource ConverterValuer},ConverterParameter=list1}" Value="false">
<Setter Property="SelectedItem" Value="{x:Null}"></Setter>
<Setter Property="Background" Value="Pink"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="AliceBlue" />
<Setter Property="BorderBrush" Value="BlanchedAlmond" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="Foreground" Value="Green"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="DarkOrange" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
<ListBox Name="listBox2" HorizontalAlignment="Left" Grid.Row="1" ItemsSource="{Binding MyData2}" SelectionChanged="listBox2_SelectionChanged" SelectedItem="{Binding SelectedItem2,Mode=TwoWay}">
<ListBox.Style>
<Style TargetType="{x:Type ListBox}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=listBox1, Path=SelectedItem, Converter={StaticResource ConverterValuer},ConverterParameter=list2}" Value="false">
<Setter Property="Background" Value="Red"></Setter>
<Setter Property="SelectedItem" Value="{x:Null}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.Style>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Background" Value="AliceBlue" />
<Setter Property="BorderBrush" Value="BlanchedAlmond" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="Foreground" Value="Green"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Foreground" Value="DarkOrange" />
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Я использовал конвертер, чтобы проверить, что selectedItem имеет значение null или не соответствует приведенному ниже *
Чтобы определить, становится ли триггер данных истинным или нет, я попытался изменить цвет фона, и он работает, только для SelectedItem не установлено значение null.
почему я не могу понять.
Позвольте мне помочь решить эту проблему.
С уважением, Нагасри.