MVVM 접근 방식에서 Properties.Settings에 바인딩하는 방법은 무엇입니까? ViewModel에서 C# 코드의 속성을 다른 속성 (Properties.Settings.Default)에 바인딩하거나 표준 속성에 바인딩하고 저장시 각 속성이 Properties.Settings에 수동으로 전달되도록해야합니까?MVVM Properties.Settings에 바인딩
답변
후자와 같은 것 :보기에 적절하게 ViewModel의 속성을 통해 Properties.Settings.Default의 설정을 노출합니다.
public class SomeViewModel
{
public int SomeProperty
{
get
{
return Properties.Settings.Default.SomeProperty;
}
set
{
Properties.Settings.Default.SomeProperty = value;
}
}
}
... 또는 그 취지의 코드.
설정은 INPC를 구현하므로보기의 설정에 간단히 바인딩 할 수 있습니다. 실제로 저장소를 격리하기 위해 설정에서 Save()를 수동으로 호출해야한다는 것을 기억하십시오.
설정과 직접 바인딩하는 것은 좋지 않습니다. MVVM과 같은 것이 아니기 때문입니다. 뷰가 아무것도하지 않았지만 설정의 내용을 표시/편집 할 수 있지만 그 경우에도 Properties.Settings.Default 적절한 ViewModel을 고려하지 않으려는 경우는 예외 일 수 있습니다. – allonym
MVVM은 일부 측면에서 매우 주관적입니다. 설정 (기본적으로 모델의 일부)에 필요한 속성이있는 경우 직접 바인딩하는 데 문제가 없습니다. 또한 올바른 유형의 일부 속성에 대해 내 모델에 직접 바인딩합니다. 단순히 모든 모델 속성을 다시 구현하는 상용구 VM 코드에는 사용하지 않습니다. –
보기가 실제로 정확한 설정을 얻고 있는지 테스트하는 방법은 무엇입니까? 당신은 viewmodel을 지름길로 가져 갔기 때문에 당신은 할 수 없습니다 ... –
- 1. MVVM : ListBox.SelectedItem에 바인딩 하시겠습니까?
- 2. MVVM 여러 바인딩 문제
- 3. Silverlight MVVM ListBox 바인딩
- 4. MVVM InkCanvas에 바인딩
- 5. MVVM 업데이트 바인딩 문제
- 6. MVVM 속성에 바인딩 == Null
- 7. Silverlight 데이터 바인딩 MVVM
- 8. MVVM, 데이터 바인딩 명령
- 9. 버튼 키 바인딩 [MVVM]
- 10. DynamicResource에서 바인딩 ResourceKey wpf mvvm
- 11. MVVM : VM 속성에 바인딩 ListView.SelectedItem.Property
- 12. WPF MVVM : ICommand 컨트롤에 바인딩
- 13. 실버 MVVM 목록 상자 바인딩
- 14. C# MVVM DataGrid 바인딩 전략?
- 15. MVVM : 목록에 바인딩 IsSynchronizedWithCurrentItem을 추적하는 동안 IsSelected
- 16. Silverlight 단위 테스트 (데이터 바인딩, MVVM)
- 17. ObservableCollection 데이터 바인딩 <T> MVVM
- 18. WPF Treeview 컨텍스트 메뉴 IsChecked 바인딩 MVVM
- 19. 다른보기에서 컨트롤 사이에 바인딩 값 - WPF/MVVM
- 20. Linq to SQL EntitySet MVVM 방식 바인딩
- 21. MVVM 바인딩 viewmodel 속성 viewmodel 속성
- 22. MVVM 패턴을 사용하여 중첩 컨트롤 바인딩
- 23. WPF Calendar : MVVM 명령에 바인딩 하시겠습니까?
- 24. WPF 데이터 바인딩 및 스타일 (MVVM 포함)
- 25. MVVM 바인딩 속성 및 하위 속성
- 26. silverlight에서 목록 바인딩 4 (C#) with mvvm
- 27. Silverlight Dataform 업데이트시 MVVM 명령 바인딩
- 28. ASP.NET 응용 프로그램에서 런타임에 Properties.Settings에 항목 추가
- 29. 일반 사전을 4.0의 Properties.Settings에 저장할 수 있습니까?
- 30. ItemsControl에 MVVM
바로 이것이 내가 피하려고하는 상용구 코드의 일종입니다. 새로운 것을 추가하지 않고 있습니다. 이 작업을 올바르게 수행하려면 속성에서 값을 변경할 때 INPC를 실행해야합니다. 또한 모델의 속성 변경 (이 경우에는 설정)을 청취하고 기본 모델이 변경되면 INPC를 실행해야합니다. 이 모든 것들이 Settings.Property 또는 ViewModel.Settings.Property 대신 ViewModel.Property에 바인딩됩니까? –