当前位置:编程学习 > C#/ASP.NET >>

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事件或许你能用得到。。。 --------------------编程问答--------------------
引用 4 楼 litong534 的回复:
楼主一定要双击嘛?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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,