【发布时间】:2020-08-05 19:23:11
【问题描述】:
我最近开始使用Interaction.Triggers,我想知道是否可以仅在单击某个列时激活触发器。在这种情况下,我希望它在用户单击 Nom Produit 列(蓝色)的元素时启动。
触发器和数据网格之间的绑定已经很好地工作了。我只想修改触发器的启动条件,因为现在用户在行中单击的任何位置(甚至是Action, Impression/Édition 按钮)都会启动。
这是我的ProductsListView.xaml 的缩小版。
<DataGrid x:Name="myDataGrid" ItemsSource="{Binding ProductsList}" x:FieldModifier="public" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="No MAT" Binding="{Binding MATProductNumber}" IsReadOnly="True" Width="0.1*"/>
<DataGridTextColumn Header="Format" Binding="{Binding tblFormat.FormatName}" IsReadOnly="True" Width="0.1*"/>
</DataGrid.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding ProductNavCommand}"
CommandParameter="{Binding Path=SelectedItem, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=DataGrid}}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGrid>
提前致谢!
【问题讨论】:
标签: wpf mvvm data-binding view binding