将List鼠标移出ListBox时,自动列表框选择/ SelectedItem / SelectedIndex已更改

时间:2011-04-15 10:13:56

标签: wpf events listbox mouseevent

拥有包含几件商品的ListBox。选择任何项目(比如v.first项目)并继续尝试将其拖动到空白区域(列表框外),ListBox选择正在变化。虽然我正在移动ListBox区域内的鼠标。

我只想在ListBox内移动鼠标时更改选择。或者在鼠标移动时完全禁用选择更改(拖动)。这是一个小poc的快照。

enter image description here

<Grid>  
    <ListBox HorizontalAlignment="Left" Margin="111,49,0,180" Name="listBox1" Width="154">  
        <ListBoxItem BorderThickness="2" Height="50" Width="Auto" Name="heig" BorderBrush="Chocolate">Rohit Item 1</ListBoxItem>  
        <ListBoxItem Height="50" BorderThickness="2" BorderBrush="Blue"  >Vivek</ListBoxItem>  
        <ListBoxItem Height="50" BorderBrush="Cyan" BorderThickness="2"  >Gaurav</ListBoxItem>  
        <ListBoxItem Name="height" Height="50" BorderBrush="CornflowerBlue" BorderThickness="2" >Asit Item 2</ListBoxItem>  
    </ListBox>  
</Grid>`

2 个答案:

答案 0 :(得分:0)

您应该在拖动时捕获鼠标,以防止在拖动时发生其他输入。拖动开始时完成此操作:

Mouse.Capture(listBox);

答案 1 :(得分:0)

我只是偶然发现了这个话题,我不得不告诉你,没有完美的解决方案,但是一个非常好的解决方法。你可以找到它here