Can I separately bind the X and Y properties of Point at xaml?
<p>I want to separately bind the X and Y properties of Point, feasible?<br>
If this point is an object's property, feasible?<br>
Create a new class and add implicit conversion to Point, feasible?<br>
(Chinese, bad English, translated by Google)</p>

<p>Like this?@Trifon </p>

<pre><code>&lt;!-- language: lang-c# --&gt;

public class BindingPoint : Animatable
{
    public double X
    {
        get { return (double)GetValue(XProperty); }
        set { SetValue(XProperty, value); }
    }

    // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty XProperty =
        DependencyProperty.Register("MyProperty", typeof(double), typeof(BindingPoint), new PropertyMetadata(0.0));
    public double Y
    {
        get { return (double)GetValue(YProperty); }
        set { SetValue(YProperty, value); }
    }

    // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty YProperty =
        DependencyProperty.Register("MyProperty", typeof(double), typeof(BindingPoint), new PropertyMetadata(0.0));

    public BindingPoint() { }
    public BindingPoint(double x, double y)
    {
        X = x;
        Y = y;
    }

    public static implicit operator Point(BindingPoint bp)
    {
        return new Point(bp.X, bp.Y);
    }
}
</code></pre>

<p>It works in c# code, like "<strong>Point p = new BindingPoint(1,1);</strong>".<br>
But it doesn't works in xaml code!</p>

<pre><code>&lt;Path&gt;
    &lt;Path.Data&gt;
        &lt;LineGeometry&gt;
            &lt;LineGeometry.StartPoint&gt;
                &lt;!--Type must be "Point"--&gt;
                &lt;local:BindingPoint X="10" Y="10"/&gt;
            &lt;/LineGeometry.StartPoint&gt;
        &lt;/LineGeometry&gt;
    &lt;/Path.Data&gt;
&lt;/Path&gt;
</code></pre>

<p>@Clemens I want to binding Y to a changing value(<em>value</em>) for each EndPoint.<br>
What should I do?</p>

<pre><code>&lt;Path StrokeThickness="2" Stroke="Cyan" Canvas.Left="300" xmlns:sys="clr-namespace:System;assembly=mscorlib"&gt;
    &lt;Path.Resources&gt;
        &lt;sys:Double x:Key="value"/&gt;
    &lt;/Path.Resources&gt;
    &lt;Path.Data&gt;
        &lt;GeometryGroup&gt;
            &lt;LineGeometry StartPoint="50,20"&gt;
                &lt;LineGeometry.EndPoint&gt;
                    &lt;Point X="30" Y="{StaticResource value}"/&gt;
                &lt;/LineGeometry.EndPoint&gt;
            &lt;/LineGeometry&gt;
            &lt;LineGeometry StartPoint="50,20"&gt;
                &lt;LineGeometry.EndPoint&gt;
                    &lt;Point X="50" Y="{StaticResource value}"/&gt;
                &lt;/LineGeometry.EndPoint&gt;
            &lt;/LineGeometry&gt;
            &lt;LineGeometry StartPoint="50,20"&gt;
                &lt;LineGeometry.EndPoint&gt;
                    &lt;Point X="70" Y="{StaticResource value}"/&gt;
                &lt;/LineGeometry.EndPoint&gt;
            &lt;/LineGeometry&gt;
        &lt;/GeometryGroup&gt;
    &lt;/Path.Data&gt;
&lt;/Path&gt;
</code></pre>