MVVM을 사용하여 WPF를 배우고 있으며 초보자를 위해 MVStock에서 Jason Dolinger의 비디오를 보았습니다. WPVM에서 MVVM을 사용하면 장점은 양방향 데이터 바인딩이라는 점입니다. 내 질문은 양방향 데이터 바인딩이 의미하는 바가 무엇입니까? 이 기능은 1) 컨트롤 (보기)의 데이터를 VM의 속성에 바인딩하고 2) 컬렉션 또는 속성의 변경 사항이보기에 반영됩니까? 내가 틀렸다면 누구나 그것이 무엇인지, 그 장점은 무엇인지 자세히 설명해 줄 수 있습니까? 이것은 매우 간단한 의심 일지 모르지만 저는 WPF를 처음 접했고 용어와 WinForms에서 멀어지고 있습니다.WPF에서 양방향 데이터 바인딩이란 정확히 무엇입니까?
1
A
답변
3
틀렸어. 양방향 데이터 바인딩은 그 의미와 정확히 일치합니다.
ViewModel과 뷰가 연결되어있어 그 중 하나에서 변경 한 내용이 다른 뷰에 반영됩니다.
그런 종류의 동작을 얻으려면 ViewModel에 INotifyPropertyChange 인터페이스를 구현하거나 일반 CLR 속성 대신 Dependency Properties를 사용해야합니다.
한 가지 방법이나 소스 방법과 같은 다른 유형의 데이터 바인딩을 사용할 수도 있습니다. 그러나 기본값은 양방향입니다.
희망이 도움이됩니다. 감사합니다
0
일반적인 생각은 UI에 반영된 DataContext에 대한 변경뿐만 아니라 UI 변경도 DataContext로 다시 푸시됩니다.
그래, 맞아.
나는 거의 옳다는 말을 듣고 반갑습니다. 또 다른 질문은 M-V-VM이 WPF없이 구현해야한다는 의미입니까? 마찬가지로, WPF와 M-V-VM은 결합되어 있습니까? 나는 이것을 요구하고 있는데, 날짜까지 WPF/SL이없는 M-V-VM에 대한 구현을 찾지 못했습니다. – blntechie
사실, 기본 바인딩 유형은 종속성 속성에 따라 다릅니다. 사실 종속성 속성의 기본값은 OneWay이지만 일부 WPF 컨트롤은 일부 속성 (예 : TextBox.Text)에 대해 TwoWay가되도록 재정의했습니다. –
MVVM 패턴은 WPF의 매우 강력하고 널리 보급 된 데이터 바인딩 기술을 효과적으로 사용하는 것을 배우는 개발자의 결과물이므로 다른 모든 상황에서이를 실행할 가능성은 거의 없습니다. –