将WPF映像控制事件与MVVM Light Event绑定到命令
我想将命令连接到WPF MVVMLight应用程序中图像的MouseDown事件。我有以下代码:将WPF映像控制事件与MVVM Light Event绑定到命令,wpf,image,binding,mvvm-light,eventtocommand,Wpf,Image,Binding,Mvvm Light,Eventtocommand,我想将命令连接到WPF MVVMLight应用程序中图像的MouseDown事件。我有以下代码: <Border Grid.Row="2" Grid.Column="1" BorderThickness="1" BorderBrush="Black"> <Image Margin="3" Name="Content" Source="{Binding Content}" HorizontalAlignment="Left">
<Border Grid.Row="2" Grid.Column="1" BorderThickness="1" BorderBrush="Black">
<Image Margin="3" Name="Content" Source="{Binding Content}" HorizontalAlignment="Left">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<cmd:EventToCommand
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.SelectMediaCommand}"
CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
</Border>
当我将
<Image Source="arrange.png" Grid.Row="1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<cmd:EventToCommand
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.OpenCommand}"
CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
这意味着您的用户控件需要一个带有ICommand属性OpenCommand的datacontext/viewmodel。interaction.triggers部分是正确的。因此,错误就在您的命令绑定中。像SvenG建议的那样,检查vs输出窗口或使用以查找绑定错误 我的工作示例:
<Image Source="arrange.png" Grid.Row="1">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<cmd:EventToCommand
Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=DataContext.OpenCommand}"
CommandParameter="{Binding}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Image>
这意味着您的用户控件需要一个带有ICommand属性OpenCommand的datacontext/viewmodel。请检查输出窗口中的绑定错误,可能FindAncestor不起作用?不,绑定是正确的,用按钮替换了图像,一切都正常。请检查输出窗口中的绑定错误,可能FindAncestor不正常?不,绑定是正确的,用按钮替换了图像,一切都正常。很好的工具。我会试着用它。这是个好工具。我将尝试使用它。