WPF ListView和ListBox等双击事件问题
Posted ligl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF ListView和ListBox等双击事件问题相关的知识,希望对你有一定的参考价值。
上两篇文章中说双击行获取不到当前数据对象问题,
http://www.cnblogs.com/ligl/p/5636899.html
http://www.cnblogs.com/ligl/p/5629802.html
后来又研究发现可以从MouseButtonEventArgs参数中获取到
<ListBox Grid.Row="1" ItemsSource="{Binding DataList}" MouseDoubleClick="ListBox_MouseDoubleClick" SelectedItem="{Binding CurrentSelectItem}" Background="AliceBlue"> <ListBox.ItemTemplate> <DataTemplate> <DockPanel Height="50" Background="DarkGray" Width="300"> <TextBox Text="{Binding Name}" Height="30" Width="200" Background="DimGray"></TextBox> </DockPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var txtBox = e.Device.Target as TextBox; var model=txtBox.DataContext as ListBoxModel; ListBox listBox = sender as ListBox; if (listBox == null || listBox.SelectedItem == null) { MessageBox.Show("ListBox1双击对象为空..."); } }
主要Code如下
private void ListBox_MouseDoubleClick(object sender, MouseButtonEventArgs e){
var txtBox = e.Device.Target as TextBox; var model=txtBox.DataContext as ListBoxModel;//ListBoxModel是自定义的数据对象
}
以上是关于WPF ListView和ListBox等双击事件问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 MVVM 从 WPF ListView 项触发双击事件
〝WPF〞中的〝ListBox〞、〝ListView〞和〝DataGridView〞有啥区别?
WPF中的ListBox,ListView和DataGridView有啥区别