MVVM 패턴을 구현 한 Silverlight 응용 프로그램이 있습니다. 내 응용 프로그램에는 ComboBox가있는 자식 창이 있습니다. 내 콤보 상자의 ItemsSource 및 SelectedItem을 MyType의 속성 (ObservableCollection 유형) 및 속성에 적절하게 바인딩했습니다. MyType은 INotifyPropertyChanged에서 파생 된 "MODEL"입니다. 내 윈도우가로드되면이 속성에 값을 설정합니다. 하지만 내 콤보 상자는 선택한 항목을 표시하지 않습니다. ViewModel에서 선택한 항목에 바인딩 된 속성을 설정하면 PropertyChanged 이벤트가 null 인 것을 알게되었습니다. 아무도 도와 줄 수 있어요. 감사.PropertyChanged가 제대로 작동하지 않습니다.
1
A
답변
0
당신이 설명했듯이, 바인딩 된 유일한 것은 ViewModel이지만 INotifyPropertyChanged를 구현하는 유일한 것은 MyType입니다. 아무것도 내 형식의 인스턴스에 바인딩되어 null 인 PropertyChanged 이벤트를 수신하지 못합니다.
ViewModel에 INotifyPropertyChanged를 구현하지 않은 것 같습니다.
0
PropertyChanged는 제대로 작동하므로 제대로 구현해야합니다. 변경된 INotifyProperty를 구현하는 것만으로는 충분하지 않습니다. 이벤트를 명시 적으로 호출해야합니다.
예를 들어,이 작동하지 않습니다
public class Model : INotifyPropertyChanged
{
public string Title { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
}
을 위해 작동하는, 변경 한 속성을 제기해야합니다. 가장 쉬운 방법은이 같은 방법으로 로직을 캡슐화하는 것입니다 : 물론
public class Model : INotifyPropertyChanged
{
private string _title;
public string Title
{
get { return _title; }
set
{
_title = value;
RaisePropertyChanged("Title");
}
}
protected void RaisePropertyChanged(string propertyName)
{
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
당신이 그것을 활용할 수 있도록 여러 모델에서 상속 할 기본 클래스의 이벤트 및 방법을 넣을 수 있습니다.
관련 문제
- 1. Rolemanager가 제대로 작동하지 않습니다.
- 2. TreeSet이 제대로 작동하지 않습니다.
- 3. JQuery와 작동하지 않습니다 제대로
- 4. Mod_rewrite가 제대로 작동하지 않습니다.
- 5. mssql_connect가 제대로 작동하지 않습니다.
- 6. jquery가 제대로 작동하지 않습니다.
- 7. Ext.PagingToolbar가 제대로 작동하지 않습니다.
- 8. CustomError가 제대로 작동하지 않습니다.
- 9. 조건이 제대로 작동하지 않습니다.
- 10. IF가 제대로 작동하지 않습니다.
- 11. FindView가 제대로 작동하지 않습니다.
- 12. : 제대로 작동하지 않습니다.
- 13. convertToNodeSpace가 제대로 작동하지 않습니다.
- 14. presentModalViewController가 제대로 작동하지 않습니다.
- 15. WAMP 제대로 작동하지 않습니다.
- 16. 대표자가 제대로 작동하지 않습니다.
- 17. XSLT가 제대로 작동하지 않습니다.
- 18. 아코디언이 제대로 작동하지 않습니다.
- 19. 커서가 제대로 작동하지 않습니다.
- 20. SetWindowLongPtr이 제대로 작동하지 않습니다.
- 21. MPMoviePlayer가 제대로 작동하지 않습니다.
- 22. 스크롤보기가 제대로 작동하지 않습니다.
- 23. NsXmlParser가 제대로 작동하지 않습니다.
- 24. ToggleClass가 제대로 작동하지 않습니다.
- 25. strip_tags가 제대로 작동하지 않습니다.
- 26. glRotatef가 제대로 작동하지 않습니다.
- 27. prettyPhoto가 IE에서 제대로 작동하지 않습니다.
- 28. C# - StreamReader.ReadLine이 제대로 작동하지 않습니다!
- 29. 재귀 함수가 제대로 작동하지 않습니다.
- 30. Smack ChatManager가 제대로 작동하지 않습니다.
코드를 설명하는 것이 코드를 실제로 보여주는 것만 큼 도움이되지 않습니다. – AnthonyWJones