【问题标题】:Show RowDetails on double-click in WPF DataGrid在 WPF DataGrid 中双击时显示 RowDetails
【发布时间】:2011-09-01 16:45:23
【问题描述】:

目前,当我单击一行时,我的 DataGrid 会显示 RowDetails。但我只想在双击时显示 RowDetails。

有解决这个问题的想法吗?

谢谢!

【问题讨论】:

    标签: .net wpf wpfdatagrid


    【解决方案1】:

    例如

    <DataGrid RowDetailsVisibilityMode="Collapsed">
        <DataGrid.RowStyle>
            <Style TargetType="{x:Type DataGridRow}">
                <EventSetter Event="MouseDoubleClick" Handler="RowDoubleClick"/>
            </Style>
        </DataGrid.RowStyle>
    </DataGrid>
    
    private void RowDoubleClick(object sender, RoutedEventArgs e)
    {
        var row = (DataGridRow)sender;
        row.DetailsVisibility = row.DetailsVisibility == Visibility.Collapsed ?
            Visibility.Visible : Visibility.Collapsed;
    }
    

    【讨论】:

    • 但另一个问题:现在我想关闭所有其他行,因为我只想允许一行包含详细信息。有没有办法迭代行?谢谢;)
    • 这有点困难,最好的办法是将可见性绑定到项目上的某些属性,然后您可以更轻松地访问,如果您想获取使用 @ 所需的所有行987654321@我想。
    • 您是将事件的代码放在 MainWindowViewModel 中还是放在 MainWindow.xmal.cs 代码后面?我要把它放到视图模型中。看看会发生什么
    猜你喜欢
    • 2014-10-07
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-23
    • 2013-02-28
    • 1970-01-01
    • 2017-01-15
    • 2016-05-12
    相关资源
    最近更新 更多