Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#WPF ListView键盘和鼠标选择_C#_Wpf_Listview - Fatal编程技术网

C#WPF ListView键盘和鼠标选择

C#WPF ListView键盘和鼠标选择,c#,wpf,listview,C#,Wpf,Listview,我有一个简单的listview控件。我正在使用SelectedIndex绑定以编程方式更改选择,并且工作正常 SelectedIndex="{Binding SelectedSearchIndex, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" SelectionChanged="OnSelectionChanged" 我还使用以下触发器进行鼠标悬停选择 <ListView.ItemContainerStyle>

我有一个简单的listview控件。我正在使用SelectedIndex绑定以编程方式更改选择,并且工作正常

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”?单模工作。谢谢