Infragistics XamDataGrid WPF MVVM选择已更改
我们正在WPF应用程序中实现MVVM体系结构。我们希望使用Infragistics XamDataGrid,但对于在视图模型层上实现selection changed事件有点不知所措 任何帮助都将不胜感激 我们迫切需要一个解决方案 安斯曼脉轮Infragistics XamDataGrid WPF MVVM选择已更改,wpf,mvvm,infragistics,selectionchanged,xamdatagrid,Wpf,Mvvm,Infragistics,Selectionchanged,Xamdatagrid,我们正在WPF应用程序中实现MVVM体系结构。我们希望使用Infragistics XamDataGrid,但对于在视图模型层上实现selection changed事件有点不知所措 任何帮助都将不胜感激 我们迫切需要一个解决方案 安斯曼脉轮 Humana Inc.我从未使用过您所询问的数据网格,但您可以打赌它的工作原理与其他任何东西一样 在要将视图绑定到的ViewModel中,将有一个名为SelectedItem的属性或类似的属性 public object SelectedItem {
Humana Inc.我从未使用过您所询问的数据网格,但您可以打赌它的工作原理与其他任何东西一样 在要将视图绑定到的ViewModel中,将有一个名为SelectedItem的属性或类似的属性
public object SelectedItem
{
get { return (object)GetValue(SelectedItemProperty); }
set { SetValue(SelectedItemProperty, value); }
}
// Using a DependencyProperty as the backing store for SelectedItem. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SelectedItemProperty =
DependencyProperty.Register("SelectedItem", typeof(object), typeof(ownerclass), new UIPropertyMetadata(0));
在xaml中,您可能可以将grids Selected属性绑定到该依赖项属性
<XamDataGrid ItemsSource={Binding Items} SelectedItem={Binding SelectedItem, UpdateSourceTrigger=PropertyChanged} />
我从未使用过您所询问的数据网格,但您可以打赌,它的工作原理与其他任何东西相同 在要将视图绑定到的ViewModel中,将有一个名为SelectedItem的属性或类似的属性
public object SelectedItem
{
get { return (object)GetValue(SelectedItemProperty); }
set { SetValue(SelectedItemProperty, value); }
}
// Using a DependencyProperty as the backing store for SelectedItem. This enables animation, styling, binding, etc...
public static readonly DependencyProperty SelectedItemProperty =
DependencyProperty.Register("SelectedItem", typeof(object), typeof(ownerclass), new UIPropertyMetadata(0));
在xaml中,您可能可以将grids Selected属性绑定到该依赖项属性
<XamDataGrid ItemsSource={Binding Items} SelectedItem={Binding SelectedItem, UpdateSourceTrigger=PropertyChanged} />
这里是xamdatagrid的一些其他事件
SelectedItemsChanged
SelectedItemsChanging
RecordActivating
RecordActivated
这些可能会对您有所帮助。这里是xamdatagrid的一些其他事件
SelectedItemsChanged
SelectedItemsChanging
RecordActivating
RecordActivated
这些可能会对您有所帮助。我已经解决了上述问题。我用了一种非常简单的方法
简单,但有效 我已经解决了上述问题。我用了一种非常简单的方法
简单,但有效 如果您希望能够使用MVVM绑定所选项目,那么我建议您使用一种行为来实现这一点。Devin Rader编写了一个包含在视图模型和选择UI之间同步值的应用程序,您可以使用类似的工具来了解视图模型中的选择何时发生了更改
如果您对此有任何疑问,请告诉我。如果您希望能够使用MVVM绑定所选项目,那么我建议您使用行为来完成此操作。Devin Rader编写了一个包含在视图模型和选择UI之间同步值的应用程序,您可以使用类似的工具来了解视图模型中的选择何时发生了更改
如果您对此有任何疑问,请告诉我。对于Infrastic v11.2,XamlDataGrid具有名为ActiveDataItem的属性,该属性表示绑定到该行的当前dataitem 您可以做的是在ViewModel中创建属性,并将其绑定到XamlDataGrid的ActiveDataItem,如下所示,并观察更改
<igDataPresenter:XamDataGrid ActiveDataItem="{Binding ActiveItem, Mode=TwoWay}" >
我的场景:
我想对绑定到单个网格行的dataItem发出命令,双击单个行,下面是xaml代码
<igDataPresenter:XamDataGrid x:Name="DemoGrid"
DataSource="{Binding Path=Items, Mode=OneWay}"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=igDataPresenter:XamDataGrid}, Path=ActiveDataItem.ViewCommand}"></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
对于Infrastic v11.2,XamlDataGrid具有名为ActiveDataItem的属性,该属性表示绑定到行的当前数据项 您可以做的是在ViewModel中创建属性,并将其绑定到XamlDataGrid的ActiveDataItem,如下所示,并观察更改
<igDataPresenter:XamDataGrid ActiveDataItem="{Binding ActiveItem, Mode=TwoWay}" >
我的场景:
我想对绑定到单个网格行的dataItem发出命令,双击单个行,下面是xaml代码
<igDataPresenter:XamDataGrid x:Name="DemoGrid"
DataSource="{Binding Path=Items, Mode=OneWay}"
>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding RelativeSource={RelativeSource AncestorType=igDataPresenter:XamDataGrid}, Path=ActiveDataItem.ViewCommand}"></i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
你好,安迪,谢谢你的回复。但这看起来更像是绑定SelectedItem属性。我已经实现了。我需要为SelectionChange执行命令(事件处理委派)。此XAMDataGridHi Andy中不起作用,当我尝试创建DependencyProperty并在XAMDataGrid中使用它时,出现以下错误:错误1 XML命名空间“”中不存在属性“SelectedItem”。第94行Position 27.xamDataGrid不包含SelectedItem属性Hi Andy,感谢您的回复。但这看起来更像是绑定SelectedItem属性。我已经实现了。我需要为SelectionChange执行命令(事件处理委派)。此XAMDataGridHi Andy中不起作用,当我尝试创建DependencyProperty并在XAMDataGrid中使用它时,出现以下错误:错误1 XML命名空间“”中不存在属性“SelectedItem”。第94行位置27.xamDataGrid不包含回复Jodha的SelectedItem PropertyTanks。但是,对于xaml文件的代码隐藏,这些事件可以很好地工作。我想在视图模型层实现事件处理程序。任何人都有这种行为的例子吗?看看这个谢谢你的回复。但是,对于xaml文件的代码隐藏,这些事件可以很好地工作。我想在视图模型层实现事件处理程序。任何一个有附加行为的例子吗?看一看这是可行的,但是现在你的ViewModel被耦合到视图,而不是反过来。如果您想将控件库更改为另一个第三方库,甚至您自己的自定义控件,则必须更改