Страницы

Поиск по вопросам

четверг, 14 марта 2019 г.

Скрытый тулбар и ошибки binding

У меня есть следующий xaml:

and two classes as possible data context - for two different windows.
class ToolbarContextOne { public Visibility SomeProperty {get;set;} } class ToolbarContextTwo:ToolbarContextOne { public bool IsEnabled {get;set;} }
Я использую тулбар из примера в нескольких ситуациях. Для того, чтобы показывать различные данные в разных окнах, я использую разные дата контексты. Когда мне не нужна вышеупомянутая секция, я просто ставлю SomeProperty в Visibility.Collapsed. Но всё равно получаю binding error для свойства IsEnabled. Очевидно, парсер пытается выполнить все binding expressions. Есть способ заставить его не выполнять эти выражения в скрытой секции xaml?


Ответ

Наверное, более чистый путь через DataTemplate
Положите где-нибудь в ресурсы (например, глобальные, или локально в окно, или в UserControl) такое:


Ну и в том месте, где у вас был ToolbarTray, просто

При этом ContentPresenter найдёт нужный DataTemplate и использует его.

Комментариев нет:

Отправить комментарий