WPF CommandParameter обязательная проблема

Создайте базовый класс с этими свойствами и наследуйте базовый класс от всех классов Item. Тогда в PrintCatalog просто возьмите параметр типа базовый класс, а не каждый элемент

5
задан Dave Clemmer 26 July 2011 в 19:49
поделиться

2 ответа

InitializeCompenent обрабатывает xaml, связанный с файлом. Это в данный момент, что привязка CommandParameter сначала обрабатывается. При инициализации поля перед InitializeCompenent затем свойство не будет пустым. При создании его после затем, это является пустым.

Если Вы захотите создать виджет после InitializeCompenent затем, то необходимо будет использовать свойство зависимости. Зависимость proeprty повысит уведомление, которое заставит CommandParameter быть обновленным, и таким образом это не будет пустым.

Вот образец того, как сделать TestWidget свойством зависимости.

public static readonly DependencyProperty TestWidgetProperty =
    DependencyProperty.Register("TestWidget", typeof(Widget), typeof(Window1), new UIPropertyMetadata(null));
public Widget TestWidget
{
    get { return (Widget) GetValue(TestWidgetProperty); }
    set { SetValue(TestWidgetProperty, value); }
}
4
ответ дан 15 December 2019 в 01:14
поделиться

Даже со свойством зависимости, все еще необходимо назвать CommandManager. InvalidateRequerySuggested для принуждения CanExecute оцениваемой Команды.

0
ответ дан 15 December 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: