WPF DataGrid SelectedItems双向绑定

时间:2019-03-24 19:34:05

标签: c# wpf datagrid

我试图将多个选择从DataGrid绑定到ViewModel,但是努力寻找一种允许双向绑定的解决方案,因为我认为DataGrid的SelectedItems属性是只读的。

现在,我正在使用Prism的帮助器,它允许从View到ViewModel的一种方式绑定。

            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <prism:InvokeCommandAction 
                        Command="{Binding SelectionChangedCommand}"
                        CommandParameter="{Binding SelectedItems,
                        ElementName=PatchDataGrid}" />
                </i:EventTrigger>
            </i:Interaction.Triggers>

这适用于1种方式的数据绑定,但是我的应用程序允许用户使用始终运行的服务(通过CLI)进行选择。已经有实现逻辑可以使用CLI将项目添加到SelectedItems ObservableCollection,但是(如当前方法所预期的那样),这些更改不会反映在UI中。我现在看不到一种方法,可以使用任何方法在保留MVVM的同时将这些更改返回到UI。

我已经考虑过在模型中添加“ IsSelected”属性,但这将不起作用,因为选择应该针对每个视图而不是全局属性。

我正在从以前走过这条路的人那里寻求建议,并找到了一种符合MVVM并带有两种方式数据绑定的解决方案。

提前谢谢!

0 个答案:

没有答案