2015-10-05 4 views
0

У меня есть простое окно с двумя кнопками внизу, когда одна кнопка нажата, она меняет модель представления моего главного окна, имя кнопки содержимого и команду.WPF MVVM Изменение содержимого кнопки с загрузкой пользовательского элемента управления

Я бы хотел, чтобы при нажатии на кнопку изменилось это с помощью пользовательского элемента управления загрузкой, который у меня уже есть, но я уложен в стек, я не знаю, что это то, что я могу реализовать с помощью xaml или мне нужен код на моем представлении модель.

Любые предложения будут оценены. Спасибо.

+1

Оба: ViewModel и View должны [взаимодействовать] (https://i-msdn.sec.s-msft.com/dynimg/IC648329.png). Например. команда из кнопки (Вид) приведет к изменениям свойств (ViewModel), которые привязаны к элементам управления (Вид). Вы можете поместить содержимое в другой View + ViewModel (UserControl и его ViewModel) и использовать 'ContentControl' + datatemplates с обычным привязкой для его отображения. Лучшее подходящее решение требует более подробной информации: какой контент именно вы хотите отображать и т. Д. – Sinatr

+0

Как насчет использования BusyIndicator? – Jannik

+0

Хорошо, если я правильно понял, я могу создать две кнопки ViewModel «Button» и «LoadingButton», а затем переключиться между этими двумя, когда пользователь нажмет на нее. Проблема в том, что у меня есть две кнопки с различным содержимым и командой, как я могу их динамически назначать? Прямо сейчас, на мой взгляд, у меня две кнопки с относительными привязками на моей модели. – Babalaus

ответ

1

Вам понадобится код на ViewModel для замены кнопки управления загрузкой. Вы можете сделать это с привязкой ContentControls или с помощью свойства Boolean, чтобы оно было видимым, а другое - скрытым при загрузке.