Skompilowane sprawdzanie czasu powiązań?

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 wykonania niektórych wiązań, ale to trochę nieistotne, mogłem używać specyficznego wiązania {bind ...}, a moje pytanie pozostało mniej więcej takie samo.

Rozumiem logikę, że maszyna wirtualna nie powinna wiedzieć nic o V, jeśli wszystko zostało wykonane poprawnie, ale wygląda na to, że ponieważ używamy dynamicznego wiązania czasu między V i VM, kompilator nie może sprawdzać legalności każdego powiązania wyrażenie. Na przykład, jeśli mam komponent UI 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 czegoś takiego jak Value = "{binding UserName}"). Jeśli jednak zmienię nazwę mojej właściwości maszyny wirtualnej lub błędnie napiszę nazwę komponentu interfejsu użytkownika lub wyrażenie wiązania, nie otrzymamy żadnego wskazania problemu do czasu uruchomienia.

Wydaje mi się, że byłoby naprawdę miło móc powiedzieć xamlowi, że komponent lub strona interfejsu użytkownika zostaną powiązane z konkretnym interfejsem, aby kompilator mógł wykonać część pracy, która w przeciwnym razie musiałaby zostać wykonana ( i przerobiony) przez dział testowy (a to ja dość często).

Czy istnieje sposób, aby powiedzieć xaml, że jesteśmy powiązani z interfejsem lub typem obiektu? Czy jest jakieś narzędzie, które może podłączyć się do aplikacji xaml, aby sprawdzić powiązania?

questionAnswers(4)

yourAnswerToTheQuestion