Создание привязываемой точки в C # WPF

Я знаю, что множественное наследование отсутствует, но есть ли способ создать оболочку для System.Windows.Point, которая может наследовать от нее, но при этом реализовывать связываемые свойства зависимостей?

I ' m пытаюсь написать код так, чтобы для моего XAML я мог без проблем создавать элементы, подобные следующему:

Это значительно упростило бы кодирование таких вещей, как полигоны, контуры, линейные сегменты и другие элементы управления.

Следующий код предоставлен как желаемое за действительное, и я понимаю, что он никоим образом не сработает, но я хочу иметь возможность делать это именно так:

public class BindablePoint: DependencyObject, Point
{
    public static readonly DependencyProperty XProperty =
    DependencyProperty.Register("X", typeof(double), typeof(BindablePoint),
    new FrameworkPropertyMetadata(default(double), (sender, e) =>
    {
        BindablePoint point = sender as BindablePoint;
        point.X = (double) e.NewValue;
    }));

    public static readonly DependencyProperty YProperty =
    DependencyProperty.Register("Y", typeof(double), typeof(BindablePoint),
    new FrameworkPropertyMetadata(default(double), (sender, e) =>
    {
        BindablePoint point = sender as BindablePoint;
        point.Y = (double)e.NewValue;
    }));

    public new double X
    {
        get { return (double)GetValue(XProperty); }
        set 
        { 
            SetValue(XProperty, value);
            base.X = value;
        }
    }

    public new double Y
    {
        get { return (double)GetValue(YProperty); }
        set
        {
            SetValue(YProperty, value);
            base.Y = value;
        }
    }
}

7
задан Ross Graeber 24 February 2011 в 17:16
поделиться