title: PropertyMetadata to register a DependencyProperty of Type "System.Windows.Point"?
body: <p>Here is my code :</p>
  
  <pre><code>public class ExoticPoint : DependencyObject
  {
      public Point PointValue
      {
          get { return (Point)GetValue(PointValueProperty); }
          set { SetValue(PointValueProperty, value); }
      }
  
      public static readonly DependencyProperty PointValueProperty =
          DependencyProperty.Register("PointValue", typeof(Point), typeof(ExoticPoint), new PropertyMetadata(0));
  
  
  
      public string Description
      {
          get { return (string)GetValue(DescriptionProperty); }
          set { SetValue(DescriptionProperty, value); }
      }
  
      public static readonly DependencyProperty DescriptionProperty =
          DependencyProperty.Register("Description", typeof(string), typeof(ExoticPoint), new UIPropertyMetadata(0));
  
      public ExoticPoint()
      {
      }
  
      public ExoticPoint (string objectName)
          : base(objectName)
      {
      }
  }
  </code></pre>
  
  <p>It compiles but when I want to CreateInstance of my type it crashes with the following error :</p>
  
  <pre><code>{"Default value type does not match type of property 'PointValue'."}
  </code></pre>
  
  <p>So Im kinda sure the problem is :</p>
  
  <pre><code>new PropertyMetadata(0)
  </code></pre>
  
  <p>but as far as I understand PropertyMetadata it should work as there is a Point constructor that takes an int as parameter : <a href="http://msdn.microsoft.com/en-us/library/bf1b4f2b.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/bf1b4f2b.aspx</a></p>
  
  <p>So... what is wrong ?</p>