10

I'm trying to get a DependencyProperty working in WPF. I'm using:

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); }
    }

When I initialize the window, I get an error: Default value type does not match type of property 'DisplayMode'. Howevere, if I leave the default value out I get a null reference exception when the window loads due to DisplayModeProperty not being set.

Echilon
  • 10,064
  • 33
  • 131
  • 217

1 Answers1

13

Posting comment as an answer.

According to msdn DependencyProperty.Register Method the syntax looks so:

public static DependencyProperty Register(
    string name,
    Type propertyType,
    Type ownerType,
    PropertyMetadata typeMetadata
)

In your case ownerType is TescoFoodSummary and propertyType is Orientation, so parameters have the following positions:

DependencyProperty.Register("DisplayMode", typeof (Orientation), typeof (TescoFoodSummary), new UIPropertyMetadata(Orientation.Vertical));
VansFannel
  • 45,055
  • 107
  • 359
  • 626
vortexwolf
  • 13,967
  • 2
  • 54
  • 72