Вы можете добавить CheckBox
к вашему ItemTemplate
, чтобы добиться выбора и отмены выбора. В этом свойстве CheckBox
Checked
привязано к IsSelected
вашего ListViewItem
. Итак, ваш существующий Triggers
будет работать как есть.
<ListView.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding}"
Width="{Binding ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}"
IsChecked="{Binding IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}"/>
</DataTemplate>
</ListView.ItemTemplate>
Если вы не хотите видеть CheckBox
, вы можете использовать ToggleButton
для получения той же функциональности. Как,
<ListView.ItemTemplate>
<DataTemplate>
<ToggleButton Content="{Binding}"
Width="{Binding ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}"
IsChecked="{Binding IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListBoxItem}}}">
<ToggleButton.Template>
<ControlTemplate TargetType="ToggleButton">
<Border BorderThickness="0">
<ContentPresenter/>
</Border>
</ControlTemplate>
</ToggleButton.Template>
</ToggleButton>
</DataTemplate>
</ListView.ItemTemplate>
Примечание. Используйте соответствующее имя свойства для привязки содержимого CheckBox
& ToggleButton
.