我正在尝试将命令绑定到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,但这不起作用。这可能吗?