Jestem umiarkowanie nowy w MVVM i rozumiem niektóre zalety MVVM nad prostym kodem za Xaml (na przykład testowalność VM). Używamy Caliburn Micro do wykonywania niektórych wiązań, ale to nieistotne, mogę używać specyficznego wiązania {binding ...} i moje pytanie pozostanie mniej więcej tym samym.Skontrolować czas kompilacji powiązań?
Rozumiem logikę, że maszyna wirtualna nie powinna wiedzieć nic o V, jeśli wszystko jest zrobione poprawnie, ale wydaje się, że ponieważ używamy dynamicznego wiązania czasu pracy między V i maszyną wirtualną, kompilator nie może kontrolować legalności każdego wiążącego wyrażenia. Na przykład, jeśli mam składnik interfejsu użytkownika o nazwie UserName, Caliburn spróbuje powiązać go z właściwością VM o nazwie UserName w czasie wykonywania (podobnie jak w przypadku funkcji Value = "{binding UserName}"). Jednak jeśli zmienię nazwę mojej właściwości VM lub błędnie zapisuję nazwę komponentu UI lub wyrażenie wiążące, nie otrzymamy żadnego wskazania problemu do czasu wykonywania.
Wydaje mi się, że byłoby miło móc powiedzieć xaml, że składnik interfejsu użytkownika lub strona będą powiązane z konkretnym interfejsem, aby kompilator mógł wykonać niektóre prace, które w przeciwnym razie do zrobienia (i ponownego wykonania) przez dział testowy (i to jest dość często).
Czy istnieje sposób, aby powiedzieć xaml, że wiążemy interfejs lub typ obiektu? Czy istnieje jakieś narzędzie, które można podłączyć do aplikacji Xaml w celu sprawdzenia poprawności powiązań?
-1: PO wyraźnie zażądał rozwiązania w czasie kompilacji. –
aha ... jest to alternatywa –
Nie jest. OP już o tym wie i nie chce z niego korzystać. –