Visual Studio에는 MVVMCross 바인딩 오류를 직접 진단하기위한 구체적인 내장 도구가 없습니다. 그러나 일반적으로 데이터 바인딩 문제를 진단하는 데 유용 할 수있는 도구를 제공하며 MVMCROSS 프로젝트에도 도움이 될 수 있습니다. 다음은 이러한 도구를 활용할 수있는 방법입니다.
XAML 데이터 바인딩 진단
MVVMCross 용으로 특별히 설계되지는 않았지만 Visual Studio의 XAML 바인딩 실패 도구 창은 XAML 기반 프로젝트의 데이터 바인딩 문제를 진단하는 데 도움이 될 수 있습니다. 이 도구는 Visual Studio 2022를 포함하여 Visual Studio 2019 버전 16.8 이상에서 사용할 수 있습니다. 액세스하려면 디버깅 세션 중 Debug> windows> XAML 바인딩 실패로 이동하십시오. 이 도구 창에는 바인딩 실패를 나열하고 파일 위치를 제공하며 XAML 파일에서 실패한 바인딩으로 직접 탐색 할 수 있습니다 [1].
일반 디버깅 기술
Xamarin Form 또는 UWP와 같은 플랫폼이 포함 된 MVMCross 프로젝트의 경우 일반 디버깅 기술을 사용할 수 있습니다.
1. Debugtrace : MVMCross 프로젝트에서 사용자 정의 'DebugTrace'클래스를 구현하여 디버깅 중에 추적 메시지를 기록합니다. 이것은 뷰와 뷰 모델 사이의 데이터 흐름을 모니터링하여 바인딩 문제를 식별하는 데 도움이 될 수 있습니다 [2].
2. PresentationTracesOUrces.tracelEvel : WPF에서보다 일반적으로 사용되지만`PresentationTracesOUrces.TracelEvel` 첨부 된 속성을 바인딩에 첨부 한 속성을 설정하여 구동성을 높이고 바인딩 작업에 대한 통찰력을 얻을 수 있습니다. 그러나 이것은 일반적으로 MVMCross 프로젝트에서 사용되지 않습니다 [3].
3. 타사 도구 : WPF 또는 이와 유사한 비주얼 트리 검사관과 같은 도구는 MVVMCross 바인딩을 디버깅하는 데 영감을 주거나 사용할 수 있지만 직접적으로 적용 할 수는 없습니다.
4. 수동 디버깅 : 뷰 모델에서 중단 점을 사용하고 코드보기를 사용하여 데이터 흐름 및 바인딩 작업을 수동으로 검사합니다. 이것은 바인딩이 실패하는 위치를 식별하는 데 도움이 될 수 있습니다.
5. MVVMCROSS 문서 및 커뮤니티 : MVMCROSS 프로젝트의 구속력 문제 처리에 대한 구체적인 지침은 MVVMCross 문서 및 커뮤니티 포럼을 참조하십시오 [4] [5].
요약하면 Visual Studio에는 MVVMCross 바인딩 오류를위한 특정 도구가 없지만 일반적인 XAML 디버깅 도구 및 기술을 활용하여 프로젝트의 바인딩 문제를 해결할 수 있습니다.
인용 :[1] https://learn.microsoft.com/en-us/visualstudio/xaml-tools/xaml-data-binding-diagnostics?view=vs-2022
[2] https://www.mvvmcross.com/documentation/platform/uwp/universal-windows-platform-uwp
[3] https://www.reddit.com/r/csharp/comments/572b0d/how_do_you_guys_deal_with_wpf_lack_of_information/
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[6] https://stackoverflow.com/questions/23101003/mvvmcross-binding-between-viewmodel-and-view-doesnt-work-for-buttons
[7] https://stackoverflow.com/questions/43019704/xamarin-forms-mvvmcross-binding-command-not-work
[8] https://learn.microsoft.com/en-us/answers/questions/1103760/bind-background-color-to-boxview-in-attached-behav