2015-04-01 6 views
0

Возможно ли установить видимость на Grid или другом элементе на основе визуального состояния другого элемента управления? Я только начинаю обнимать концепцию VisualStateManager (обнаружив, что триггеры стиля не могут использоваться в универсальных приложениях), но не может сработать, если это можно сделать или нет.Настройка видимости на основе визуального состояния другого управления

К моему конкретному сценарию, могу ли я установить видимость одного или нескольких элементов, если в данный момент выбран конкретный элемент/индекс в ListView? Если да, то как?

ответ

0

Я бы поддержал выбор ListView в собственности viewmodel и связал Grid.Visibility с этой недвижимостью. Вам понадобится IValueConverter для преобразования из типа данных выбранного элемента в System.Windows.Visibility, что необходимо для привязки Grid.Visibility.

В случае, если логика определения видимости более сложна, например. требуется состояние приложения, вы можете добавить свойство bool IsImportantItemSelected в viewmodel и привязать Grid.Visibility к этой собственности. Такой подход позволяет сохранить сложную логику в модели viewmodel. Вам понадобится IValueConverter, чтобы конвертировать из bool в System.Windows.Visibility.

+0

Спасибо Silverstein. Это помогло мне в правильном направлении добиться желаемого результата. – Lindsay

Смежные вопросы