我已根据MVVM模式开发了一个WPF应用程序。
用户控件
它有一个textBox控件,我已连接 MouseDoubleClick 。
private void textbox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
父
<ListView>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding DoubleClickCommand}"
CommandParameter="{Binding data}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListView>
问题是即使在设置e.Handled = true之后,也会在主视图中调用DoubleClickCommand。我希望在e.Handled = true时不要触发DoubleClickCommand。
任何帮助都会很棒。
答案 0 :(得分:0)
只需确保在父控件和用户控件中使用相同的DoubleClickCommand,假设这是您的用户控件:
<Window ... DataContext="{Binding ParentViewModel}" Name="Main">
<Grid>
<ListView ItemsSource="{Binding ItemsCollection}">
<ListView.ItemTemplate>
<DataTemplate>
<local:UserControl1>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding DoubleClickCommand,ElementName=Main}"
CommandParameter="{Binding data}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</local:UserControl1>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Window>
父母应该看起来像这样:
SELECT * FROM emergency."doctor''s patient"
现在Handled属性可以正常工作。