C#WPF ListView键盘和鼠标选择
我有一个简单的listview控件。我正在使用SelectedIndex绑定以编程方式更改选择,并且工作正常C#WPF ListView键盘和鼠标选择,c#,wpf,listview,C#,Wpf,Listview,我有一个简单的listview控件。我正在使用SelectedIndex绑定以编程方式更改选择,并且工作正常 SelectedIndex="{Binding SelectedSearchIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectionChanged="OnSelectionChanged" 我还使用以下触发器进行鼠标悬停选择 <ListView.ItemContainerStyle>
SelectedIndex="{Binding SelectedSearchIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectionChanged="OnSelectionChanged"
我还使用以下触发器进行鼠标悬停选择
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}">
<Setter Property="Focusable" Value="False"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="IsSelected" Value="True"/>
</Trigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
我面临的问题是,在以编程方式进行选择(listviewitem 1)后,如果我进行鼠标选择(listviewitem 5),我会在列表视图中看到两个选择(listviewitem 1和listviewitem 5)。我只想要一个选择,即当鼠标选择发生时,程序选择消失。还有一点我注意到的是,在鼠标选择上方,selectionchange事件正在触发,但selectedindex没有得到更新。它仍然是通过编程设置的索引。这是正确的行为吗。我认为列表视图中不缺少奇怪的行为。因此,为了澄清编程绑定和鼠标悬停选择每个选择,都要同时“选择”吗?好像它们都是突出显示的?我记得突出显示/聚焦的部分可能与“选定”部分不同。也可能是您同时允许多个选择。您是否尝试过“mylistview.SelectionMode=SelectionMode.Single”?单模工作。谢谢