저는 WPF에 익숙하지 않고 올바른 방법으로 MVV를 구현하려고 시도했습니다. 저는 조쉬 스미스가 자주 언급 한 기사를 사용했습니다. 그리고 제가 아는 바를 깨닫게 해주는 것 말고는 제게 다소 혼란 스럽습니다.WPF의 relaycommand from usercontrol
특히 RelayCommand 개체를 사용하여 페이지의 단추를 직접 처리하는 페이지가 있습니다. 이것은 괜찮습니다. 그러나 버튼 (저장)은 궁극적으로 다른 버튼을 포함하는 사용자 정의 컨트롤에 있으며 컨트롤은 여러 페이지에서 사용됩니다.
내 질문은 이것입니다. 사용자 정의 컨트롤에서 명령을 포함하는 페이지 (예 : viewmodel)로 명령을 전달하는 방법은 무엇입니까? 나는 사용자 정의 컨트롤의 명령
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(
param => this.Save(),
param => this.CanSave
);
}
return _saveCommand;
}
}
에 결합하는 경우에, 나는 사실 내가 뷰 모델에 처리되어야 할 때, 사용자 컨트롤 자체에 저장 방법을 사용해야합니다.
아무도 도와 줄 수 있습니까?
고마워요! 누군가가 관심이있는 경우에는 다음과 같이 수행 할 수 있습니다. Command = "{바인딩 SaveCommand}" CommandParameter = "{RelativeSource FindAncestor, AncestorType = {x : Type UserControl}}" – pilsdumps