Каков наилучший способ заменить элементы управления во время выполнения? - PullRequest
1 голос
/ 21 июля 2010

Я довольно новичок в WPF, и у меня есть такой сценарий:

У меня есть приложение, в котором есть область, где разные наборы элементов управления должны отображаться в разное время (разные состояния приложения).

Мне интересно, каков подход в WPF?

В winforms я бы сделал элементы управления видимыми / невидимыми во время выполнения. Если бы было слишком много элементов управления, я бы сгруппировал их в Panels / UserControls и показал / скрыл их.

Моя интуиция говорит мне, что в WPF есть лучший способ.

Ответы [ 2 ]

2 голосов
/ 22 июля 2010

Есть много вариантов сделать это в WPF. Помимо скрытия и отображения отдельных элементов или групп элементов управления с помощью параметра «Видимость», вы можете использовать различные шаблоны данных для хранения набора элементов управления для каждого состояния и переключения между ними. Все, что вам нужно, это ContentControl, на котором вы можете установить ContentTemplate. Затем значение ContentTemplate можно переключить на другие шаблоны данных, используя триггер, привязку, из кода или используя ContentTemplateSelector для выбора шаблона.

1 голос
/ 21 июля 2010

Свойство Visibility прекрасно описывает ваши старые привычки.

Вы также захотите взглянуть на Визуальные состояния . Это позволит вам скрыть / показать несколько элементов управления и даже изменить другие свойства (т.е. включить состояние, цвет шрифта).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...