如何解决在EventTrigger中使用InvokeCommandAction无法正常工作吗?
| 这是我关于堆栈溢出的第一个问题,所以请轻柔:-) 在我的WPF窗口之一中,我有一个列表框,其项目使用以下数据模板进行模板化:<ListBox.ItemTemplate>
<DataTemplate>
<Grid UseLayoutRounding=\"True\" Width=\"80\">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height=\"Auto\" />
<RowDefinition Height=\"Auto\" />
</Grid.RowDefinitions>
<Border
Grid.Row=\"0\"
HorizontalAlignment=\"Center\"
VerticalAlignment=\"Center\"
>
<Viewbox
Height=\"110\"
Width=\"50\"
HorizontalAlignment=\"Center\"
VerticalAlignment=\"Center\"
>
<Grid Background=\"#77ffffff\" Margin=\"0\">
<i:Interaction.Triggers>
<ei:KeyTrigger Key=\"Return\">
<i:InvokeCommandAction
Command=\"{Binding SelectModelCommand}\"
CommandParameter=\"{Binding}\"
/>
</ei:KeyTrigger>
<i:EventTrigger EventName=\"MouseDoubleClick\">
<i:InvokeCommandAction
Command=\"{Binding SelectModelCommand}\"
CommandParameter=\"{Binding}\"
/>
</i:EventTrigger>
</i:Interaction.Triggers>
<Path Stroke=\"{DynamicResource FontBrush}\"
StrokeThickness=\"100\"
Data=\"{Binding DrawingPathString,FallbackValue={x:Static bll:Panel.NoDrawing}}\"/>
</Grid>
</Viewbox>
</Border>
<TextBlock
Grid.Row=\"1\"
FontSize=\"8\"
TextWrapping=\"NoWrap\"
HorizontalAlignment=\"Center\"
Text=\"{Binding Path=BLLPanel.Model,FallbackValue=MODEL}\"
/>
<TextBlock
Grid.Row=\"2\"
FontSize=\"8\"
TextWrapping=\"NoWrap\"
HorizontalAlignment=\"Center\"
Text=\"{Binding Path=BLLPanel.PanelFamily.Description,FallbackValue=FAMILY}\"
/>
</Grid>
</DataTemplate>
请注意网格中的两个触发器:
在我的视图模型上调用ICommand的KeyTrigger
一个EventTrigger应该做的完全一样,但是由于某些未知原因不会
谁能向我解释为什么?
感谢您的时间和考虑
斯文
解决方法
问题是没有
MouseDoubleClick
事件...
但是我相信使用ImputBindings
可以轻松实现您想做的事情:
<Grid Background=\"#77ffffff\" Margin=\"0\">
<Grid.InputBindings>
<MouseBinding Gesture=\"LeftDoubleClick\" Command=\"{Binding SelectModelCommand}\"/>
</Grid.InputBindings>
...
</Grid>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。