WPF MenuItem当ItemsSource绑定到对象时单击

时间:2016-12-11 14:54:36

标签: c# wpf object menuitem

我有一个绑定到WPF MenuItem ItemsSource

的Item-Objects集合
public class Item
{
public string Name
public ?? MethodToCall
}

现在我想使用我的点击事件(我可能会使用RelayCommand)来调用MethodToCall,即void。那么我应该使用??对象中的Item类型是什么?在RelayCommand中应该有什么?只是Item.MethodToCall()?我不想使用任何case或其他东西,因为我希望能够动态地将项添加到MenuItem并在相应的对象中定义我的方法。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

这是调用方法的relay命令的样子:

private bool _canExecuteMyCommand = true;
public RelayCommand YourCommand 
{ 
  get; 
  private set; 
} 

public MainViewModel() 
{ 
  MyCommand = new RelayCommand( MethodToCall, () => _canExecuteMyCommand); 
} 

private void MethodToCall() 
{ 
  // Do something 
}

_canExecuteMyCommand决定何时执行命令。即调用MethodToCall函数时。如果为false,则不调用该函数。

编辑:

您可以在类中拥有多个中继命令,即Item类中的如下:

public class Item
{
    public string Name
    public RelayCommand YourCommand1 
    { 
      get; 
      private set; 
    } 

    public RelayCommand YourCommand2 
    { 
      get; 
      private set; 
    } 
}