WPF中,如何给ListBox的Item添加事件处理
--------------------编程问答-------------------- 我试着更改了一下,<DataTemplate >
<label MouseDoubleClick="label_MouseDoubleClick>
<Image Margin="10" Width="64" Height=" 64" Source="{Binding Path=Image}" />
</>
</DataTemplate>
通过处理Label的事件来实现。
问题是,通过DataTemplate生成的ListBoxItem本身就支持MouseDoubleClick,如果不加Label该怎么处理呀? --------------------编程问答-------------------- 防止下沉,顶起求解 --------------------编程问答-------------------- 继续起顶,盼解 --------------------编程问答-------------------- 楼主一定要双击嘛?listbox里面有一个selection changed事件或许你能用得到。。。 --------------------编程问答--------------------
你点击一个已经选中的item试试,你这个跟改变了才触发 --------------------编程问答-------------------- 这个可以使用样式来处理,在默认的或者你的样式上,添加EventSetter的处理双击事件,直接看代码吧
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource ResourceKey={x:Type ListBoxItem}}">
<EventSetter Event="MouseDoubleClick" Handler="ListBoxMouseDouleClick">
</EventSetter>
</Style>
</Window.Resources>
<Grid>
<ListBox>
<ListBoxItem Content="test"></ListBoxItem>
</ListBox>
</Grid>
</Window>
后台代码:
--------------------编程问答-------------------- 楼上正解。。。。。
private void ListBoxMouseDouleClick(object sender, EventArgs e)
{
MessageBox.Show(sender.ToString());
}
补充:.NET技术 , .NET Framework