none
WPF为ListBox添加ListBoxItem的双击事件 RRS feed

全部回复

  • 你好,

    如果你的意思是想在资源字典中设置这个 EventSetter, 我们可以这样做:

    因为ResourceDictionary 也是有代码后台(code behind)的,和Window一样,所以你可以在字典中设置EventSetter, 在它的后台代码中实现Handler

    比如你的资源字典叫做 MyStyleResourceDictionary.xaml, 你可以自己在VS项目的相同目录下添加一个文件叫做 MyStyleResourceDictionary.xaml.cs, 内容像这样:

    public partial class MyStyleResourceDictionary
    {
        //...
    }

    字典中要加上 x:Class attribute:

    <ResourceDictionary x:Class="你的命名空间.MyStyleResourceDictionary"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
        <Style TargetType="{x:Type ListBoxItem}" BasedOn="{StaticResource {x:Type ListBoxItem}}">
            <EventSetter Event="MouseDoubleClick" Handler="ListBoxItem_MouseDoubleClick"/>
        </Style>
    </ResourceDictionary>

    在后台MyStyleResourceDictionary.xaml.cs 添加Handler:

    public partial class MyStyleResourceDictionary
    {
            private void ListBoxItem_MouseDoubleClick(object sender, RoutedEventArgs e)
            {
                MessageBox.Show("ListBoxItem被双击");
            }
    }

    对于资源字典,我们要在App.xaml中添加它:

    <Application.Resources>
            <ResourceDictionary>
                <ResourceDictionary.MergedDictionaries>
                    <ResourceDictionary Source="MyStyleResourceDictionary.xaml" />
                </ResourceDictionary.MergedDictionaries>
            </ResourceDictionary>
        </Application.Resources>

    截图:


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 weiss_2009 2014年7月24日 2:58
    • 取消答案标记 weiss_2009 2014年7月26日 3:00
    2014年7月24日 1:59
    版主
  • 添加单击和双击事件,双击的时候单击同时发生,如何把他们分开?
    2014年7月26日 3:01
  • 添加单击和双击事件,双击的时候单击同时发生,如何把他们分开?

    你好,

    对于单击,请问你是处理的什么事件,请贴出这部分前台和后台的代码。

    这个问题和原问题相关性不大,建议开新帖,加上更详细的信息,我去帮你尝试解决:)


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年7月28日 7:53
    版主