내 앱은 중첩 ViewModel 구조를 사용합니다. 하위 뷰 모델 목록이 포함 된 상위 뷰 모델이 있습니다. 바인딩이 잘 작동하고 버튼을 통해 릴레이 명령을 실행할 수 있습니다.중첩 된 MVVM 및 RelayCommand
이 작업은 정상적으로 수행되지만 상위 뷰가 아닌 하위 뷰 모델에서만 데이터에 액세스 할 수 있습니다. 부모 viewmodel에서 데이터에 액세스하거나 부모 viewmodel에서 함수를 실행하고 필요한 데이터를 자식에서 부모로 전달하려면 어떻게해야합니까?
편집 : 이것은 내보기 모델이 어떻게 생겼는지 :
부모 :
public string Name { get; set; }
public List<ChildViewModel> Children { get; set; }
private RelayCommand _parentCommand;
public RelayCommand ParentCommand
{
get
{
if (_parentCommand== null)
{
_parentCommand= new RelayCommand(() =>
{
//some code
},
() => true);
}
return _parentCommand;
}
}
아이 :
public string Name_Child { get; set; }
private RelayCommand _childCommand;
public RelayCommand ChildCommand
{
get
{
if (_childCommand== null)
{
_childCommand= new RelayCommand(() =>
{
//some code
},
() => true);
}
return _childCommand;
}
}
내 문제는 내가로부터 Name_Child와 이름을 모두 사용할 필요가있다 상위 뷰 모델과 나는 RelayCommands에서 그들 중 하나만 액세스 할 수 있습니다.
당신이보기를 구성 어떻게 우리에게 보여 주시겠습니까 모델? 적어도 간단히 .. –
원본 모델을 viewmodels로 업데이트했습니다.이 기능이 도움이되기를 바랍니다. – slimshady
내 대답을 확인 했습니까? 귀하의 질문에 대한 대답은 받아 들여지지 않습니까? :) –