【问题标题】:WPF Datagrid Multi Selection complete event in MVVM. How to know when user has completed his selection?MVVM 中的 WPF Datagrid 多选完成事件。如何知道用户何时完成了他的选择?
【发布时间】:2015-04-21 10:57:21
【问题描述】:

我在 WPF 中使用数据网格。
Datagrid 中的选择完成后,我需要更新我的图形引擎。
如何知道用户何时完成了数据网格中的选择。
组合使用 MouseDown 和 UpEvents、KeyDown 和 Up 事件。有什么想法吗?

【问题讨论】:

    标签: c# .net wpf mvvm


    【解决方案1】:

    您可以使用 SelectedItem 属性获取当前选定的对象,然后可以将其转换为正确的类型。

    Person person = (Person)myDataGrid.SelectedItem;
    

    或绑定到 SelectedItem 属性中。

    <Grid DataContext="MyViewModel">
        <DataGrid ItemsSource="{Binding Path=People}"
                  SelectedItem="{Binding Path=SelectedPerson , Mode=TwoWay}"/>
    </Grid>    
    

    多选请使用: http://grokys.blogspot.co.il/2012/02/mvvm-and-multiple-selection-part-iv.html

    甚至更好 WPF DataGrid multiselect binding

    您还可以添加一个“应用选择”按钮,它会解决您的问题

    【讨论】:

    • 感谢您的回复。此解决方案适用于单选。多选呢。我想要用户完成多选的确切时间
    • 有什么方法可以知道多选何时完成?
    • 您可以在事件中的点击之间添加延迟,然后等待 2 秒。这可能足以说明选择已完成,如果没有,只需在每次更改时更新并像处理最后一个选择一样处理每个选择。
    猜你喜欢
    • 2019-01-31
    • 2021-09-15
    • 2021-07-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2012-11-27
    • 2020-05-21
    • 1970-01-01
    相关资源
    最近更新 更多