Значение по умолчанию DependencyProperty
Я пытаюсь заставить DependencyProperty работать в WPF. Я использую:
public static readonly DependencyProperty DisplayModeProperty = DependencyProperty.Register("DisplayMode", typeof (TescoFoodSummary), typeof (Orientation), new UIPropertyMetadata(Orientation.Vertical));
/// <summary>
/// Gets or sets the orientation.
/// </summary>
/// <value>The orientation.</value>
public Orientation DisplayMode {
get { return (Orientation)base.GetValue(DisplayModeProperty); }
set { base.SetValue(DisplayModeProperty, value); }
}
Когда я инициализирую окно, я получаю сообщение об ошибке: Тип значения по умолчанию не соответствует типу свойства 'DisplayMode'. Тем не менее, если я оставлю значение по умолчанию, я получаю исключение нулевой ссылки, когда окно загружается из-за отсутствия DisplayModeProperty.
Ответы
Ответ 1
Проводка комментария в качестве ответа.
В соответствии с msdn DependencyProperty.Register Method синтаксис выглядит так:
public static DependencyProperty Register(
string name,
Type propertyType,
Type ownerType,
PropertyMetadata typeMetadata
)
В вашем случае ownerType TescoFoodSummary
и propertyType Orientation
, поэтому параметры имеют следующие позиции:
DependencyProperty.Register("DisplayMode", typeof (Orientation), typeof (TescoFoodSummary), new UIPropertyMetadata(Orientation.Vertical));