WPF создает кнопку для каждого представления, которая устанавливает ее как содержимое ContentControl. - PullRequest
0 голосов
/ 16 июня 2020

У меня есть программа WPF, MVVM, MainWindow которой разделена на боковую панель ListBox и основную часть ContentControl. Я хочу создать функциональность, которая будет заполнять ListBox кнопкой для каждого представления, которое у меня есть в моем проекте, и установить его команду таким образом, чтобы при нажатии на нее содержимое ContentControl устанавливалось для связанного представления автоматически , т.е. чтобы мне не приходилось вручную вводить код при добавлении нового представления. Что-то вроде итерации по всем просмотрам файлов или что-то в этом роде.

РЕДАКТИРОВАТЬ: Возможно, я СНОВА недостаточно ясно. Что у меня есть и что я умею - набираю как обезьяна "new Button, yadda yadda" каждый раз, когда я добавляю новое представление в свой проект.

Что я хочу - напишите кусок черного мага c что-то вроде "В этом проекте 6 представлений, я просто сделаю 6 кнопок для каждой, чтобы при нажатии они переходили к соответствующему представлению, и парень, который написал мне, не должен был писать дополнительную строку кода каждый раз, когда новый вид добавлен ".

Как я могу этого добиться и насколько это хорошая идея для начала?

1 Ответ

0 голосов
/ 17 июня 2020

В учебных целях я буду называть ваш класс «представления» View.

  1. Создайте какой-то объект коллекции (List<View>, ObservableCollection<View>, et c.) Для хранения всех View s.

  2. Назначьте эту коллекцию свойству зависимости. Я назову его Views.

  3. Объявить свойство зависимости для выбранного / активного представления. Я назову его SelectedView.

  4. Привязать ListBox.ItemsSource к Views.

  5. Привязать ListBox.SelectedItem к View .

  6. Свяжите ContentControl.Content и с View.

При указанной выше настройке ContentControl будет отображать все, что View выбрано в ListBox.

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