绑定命令到子视图模型

时间:2011-12-06 00:33:02

标签: c# silverlight mvvm command

我正在尝试将命令绑定到ViewModel,这是另一个ViewModel的属性。如果我绑定到父视图模型中的命令(即; DataContext),它可以正常工作。如果我尝试绑定到我的datacontext的一个poperty的viewmodel,它就不起作用(没有任何反应)。以下代码说明了事物的结构。

public class DataViewModel : ViewModelBase
{
   private ICommand _myCommand;
   public ICommand MyCommand {get{return _myCommand;}}

   public DataViewModel()
   {
       _myCommand=new DelegateCommand(myMethod,null);
   }

   private myMethod( object o)
   {
     // do whatever
   }
}

public class ParentViewModel 
{
   private DataViewModel _dataContainer=new DataViewModel();
   public DataViewModel DataContainer {get {return _dataContainer;} set {_dataContainer=value;}}
}

我的XAML看起来像这样: 同样,我的视图绑定到ParentViewModel并且工作正常,直接位于ParentViewModel中的命令工作正常。

<Button Command={Binding Path=DataContainer.MyCommand} Content="Get Data />

我已经尝试将按钮的DataContext设置为DataContainer,但这不起作用。这可能吗?

0 个答案:

没有答案