내가 WPF에서 MVP를 사용하고 있는데 내가 디자인 의심을 가로 질러 와서 나는이에 대한 당신의 의견을 얻을 것 : 내보기를 새로 고침과 같은 초기 쿼리를 수행 할 필요가 어느 시점에서새로 고침/리셋보기
보기가로드 될 때처럼 뷰의 DataContext 내 발표자이며 몇 가지 컬렉션 및 뷰에 바인딩 된 다른 변수가 있습니다. 뷰를 새로 고침해야 할 때 컬렉션 및 변수를 지우고 DataContext를 null로 설정합니다. 그런 다음 새 데이터를 가져오고 컬렉션을 채우고 DataContext를 설정합니다. 이것을 달성하는 가장 좋은 방법입니까?
이 문제는 내 앱이 커질 때 변수가 재설정되는 것을 잊어 버렸습니다 ... 이상적인 점은 변수를 걱정하지 않고도 다시보기를 다시로드하는 것입니다. 있다.
감사합니다.
안녕하세요 에드, 나는 당신의 아이디어를 얻었고 나는 동의한다. (적어도 부분적으로는). 사실, 나는 모든 변수를 수동으로 재설정해야하므로 뷰에 바인딩 된 많은 변수가있다 (propertychanged는 UI 업데이트). 내 컬렉션을 지우면 (Observable이라고 가정) textblocks 값과 ComboBoxes SelectedItems를 지 웁니다. 그게 내 목적을 달성 할 수있을거야 ... 나는 Observ를 사용하지 않았다. 콜렉션은 오버 헤드 때문에 아이템으로 아이템을 만들고 싶지 않기 때문에 (내 상황에서는), Obs 몇 개를 빌드하십시오. 약 10 개의 항목으로 이루어진 컬렉션은 각각 큰 영향을 미칩니 까? – Jay
Jay, 성능 테스트를해야 할 수도 있습니다. 아이디어 : ObservableCollections 대신 IList를 구현하는 컬렉션을 사용하고 모든 항목을 추가/제거한 후에 INotifyPreportyChanged를 사용할 수 있습니다. 이렇게하면 항목 당 한 번이 아니라 모든 것을 추가 한 후에 만 업데이트가 적용됩니다. –