c# - WPF ListView : Attaching a double-click (on an item) event

标签 c# wpf xaml

我有以下 ListView:

<ListView Name="TrackListView">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Title" Width="100" 
                            HeaderTemplate="{StaticResource BlueHeader}" 
                            DisplayMemberBinding="{Binding Name}"/>

            <GridViewColumn Header="Artist" Width="100"  
                            HeaderTemplate="{StaticResource BlueHeader}"  
                            DisplayMemberBinding="{Binding Album.Artist.Name}" />
        </GridView>
    </ListView.View>
</ListView>

我如何将事件附加到每个绑定(bind)的项目,双击该项目时将触发该事件?

最佳答案

从这里找到解决方案:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/3d0eaa54-09a9-4c51-8677-8e90577e7bac/


XAML:

<UserControl.Resources>
    <Style x:Key="itemstyle" TargetType="{x:Type ListViewItem}">
        <EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick" />
    </Style>
</UserControl.Resources>

<ListView Name="TrackListView" ItemContainerStyle="{StaticResource itemstyle}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Title" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Name}"/>
            <GridViewColumn Header="Artist" Width="100" HeaderTemplate="{StaticResource BlueHeader}" DisplayMemberBinding="{Binding Album.Artist.Name}" />
        </GridView>
    </ListView.View>
</ListView>

C#:

protected void HandleDoubleClick(object sender, MouseButtonEventArgs e)
{
    var track = ((ListViewItem) sender).Content as Track; //Casting back to the binded Track
}

关于c# - WPF ListView : Attaching a double-click (on an item) event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/728205/

相关文章:

c# - 在 TreeView 周围移动节点

WPF按钮gif动画

c# - SignalR Core 2.2 CORS AllowAnyOrigin() 重大变更

c# - GetHashCode() 方法是否应该注意作为参数给出的空值?

c# - SecureString 到 Byte[] C#

c# - 如何标记依赖属性以显示在文档大纲 View 中

wpf - 如何改变Combobox下拉面板的背景色

Silverlight 无法在同一字典中找到资源

c# - 如何在 IValueConverter 中使用 targetType 参数?

c# - 调用 Form.Show() 时设置表单的位置