WPF / MVVM: отключение состояния кнопки, когда ViewModel находится за UserControl еще не инициализирован?

У меня есть DocumentListView.Xaml с ListBox и 3 кнопками.

За этим UserControl находится DocumentListViewModel с 3 кнопками и их свойство Command, привязанное к 3 RelayCommands.

У меня есть 3 контроллера, например, AdministrationController, BillingController, ReportController.

Каждый контроллер имеет ObservableCollections, такие как Customer 1: N Order 1: N Документ такой же для другого контроллера.

В одном контроллере у меня есть особая ситуация привязки. Когда мой DocumentListViewModel не инициализируется его родительской ViewModel, например OrderViewModel (поскольку заказы не загружены / не существуют), мой UserControl имеет 3 кнопки, которые ВКЛЮЧЕНЫ. Хорошо, пользователь может нажать 3 кнопки, и ничего не происходит, но все равно это очень сбивает с толку, и, прежде всего, нет согласованности в моем пользовательском интерфейсе.

Как я могу установить для команды кнопки по умолчанию значение «Отключено» ?

Установка свойства IsEnabled кнопок на false не помогает, потому что кнопка навсегда останется в отключенном состоянии. Отсутствие CanExecute TRUE установит для него значение IsEnabled = true.

И я не хочу вводить еще одно свойство IsButtonEnabled ... это глупо, потому что тогда у меня есть как winforms, так и wpf за моей логикой кнопок ... ICommand должно быть достаточно.

9
задан THelper 3 May 2012 в 12:03
поделиться