在MVVM Light的usercontrol中使用相同的x:Name

时间:2015-05-15 12:22:58

标签: c# wpf mvvm mvvm-light

我在WPF应用程序中使用MVVM Light。 我有一些usercontrol。它将元素名称作为命令参数传递给命令。

<UserControl>
<i:Interaction.Triggers>
        <i:EventTrigger EventName="Loaded">
            <cmd:EventToCommand Command="{Binding LoadCommand}"     CommandParameter="{Binding ElementName=Image}"></cmd:EventToCommand>
        </i:EventTrigger>
    </i:Interaction.Triggers>
<image Name="Image" />
</UserControl>

在我的MainView中,我使用此usercontrols:

<Window>
  <l:mycontrol />
  <l:mycontrol />
</Window>

视图模型

 class MainViewModel:ViewModelBase
 {
    public MainViewModel()
    {
       LoadCommand = new RelayCommand<Image>(OnLoad);
    }

    private void OnLoad(Image image)
    {
       Draw(image,bitmap);
    }
 }

“Draw”是我在Image上用一些usercontrol参数写的函数。 原因图像具有相同的x:name,我的应用程序仅在最后一个图像上绘制。 我怎么能把我的元素传递给命令?

0 个答案:

没有答案