将 EventToCommand 添加到 xaml 中的每一行
有没有办法将 DoubleClickEvent 添加到 xaml 中的每一行,而不是使用 datagridcontrol 的事件?
像这样的东西(此代码不起作用):
<UserControl
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras"
xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" >
<xcdg:UserControl.Resources>
<Style TargetType="xcdg:DataRow">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<cmd:EventToCommand Command="{Binding SelectCommand, Mode=Default}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type xcdg:DataGridControl}}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Style>
</xcdg:UserControl.Resources>
...
Is there a way to add a DoubleClickEvent to each Row in xaml rather than using the event of the datagridcontrol?
Something like this (this code does not work):
<UserControl
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:cmd="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras"
xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" >
<xcdg:UserControl.Resources>
<Style TargetType="xcdg:DataRow">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<cmd:EventToCommand Command="{Binding SelectCommand, Mode=Default}" CommandParameter="{Binding SelectedItem, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type xcdg:DataGridControl}}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Style>
</xcdg:UserControl.Resources>
...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用模板而不是样式。 (这假设 xceed datagrid 的 DataRow 是可模板化的。)
Use a template instead of a style. (This assumes that the xceed datagrid's DataRow is templatable.)