В ListView я связываю с условием DataTrigger цвет фона элемента (текстового блока) со свойством Integer, потому что, когда свойство изменяется (от 0 до 1), я хочу, чтобы фон этого элемента становился прозрачным и красным.
Этот триггер не работает в двух случаях: когда мышь находится над элементом или
когда этот конкретный элемент выбран.
В этих двух случаях фон всегда прозрачен, несмотря на значение свойства.
Таким образом, элемент меняет свой фон, только если указатель мыши находится над другими элементами или выбран другие элементы.
Текстовый блок определен в отдельном DataTemplate (он является частью BoardViewModel), а ListView является коллекцией этих ВМ.
В своем коде я проверил, что в описании текстового блока нет условия активного триггера "isMouseOver" и что в разделе списка нет активного триггера "isSelected".
Я также пытался удалить фон структур, но это не имеет никакого отношения к проблеме.
- DataTemplate ---
<DataTemplate DataType="{x:Type viewModels:BoardViewModel}">
<Grid >
<Grid HorizontalAlignment="Stretch" Grid.Row="0" Width="Auto" Height="Auto">
<Border Margin="20,20,20,20" BorderThickness="2" BorderBrush="Transparent" HorizontalAlignment="Stretch">
<TextBlock HorizontalAlignment="Stretch">
<TextBlock.Text>
<MultiBinding StringFormat="ID: {0}">
<Binding Path="ID"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</Border>
</Grid>
</Grid>
</DataTemplate>
--- Вид ---
<Grid Grid.Row="0">
<ListView Height="Auto" Background="{StaticResource BoardBackground}" ItemsSource="{Binding Path= BoardViewModels}" SelectedItem="{Binding CurrentBoardViewModel}" IsSynchronizedWithCurrentItem="true">
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding Path= ErrorRedFlagByBoard}" Value="1">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path= ErrorRedFlagByBoard}" Value="0">
<Setter Property="Background" Value="Transparent"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>
Я проверил правильное значение целочисленного свойства модели представления, поэтому я ожидал, что фон элемента останется красным и при выборе элемента или при наведении курсора на элемент, но что-то лишает законной силы это утверждение, и я не понимаю, что именно.
Спасибо всем.