绑定中的共享依赖项属性更新问题

时间:2012-06-13 07:17:43

标签: c# wpf xaml dependency-properties

我有一个只读依赖项属性,它在两个WPF类之间共享。所以我创建了这个属性共享属性。在XAML上绑定此属性时,它采用其默认值,无法更新。但是,如果我使用此属性的主要所有者,则可以更新其值。

那你有什么建议?

public  class A
{
    private static readonly DependencyPropertyKey XPropertyKey =
        DependencyProperty.RegisterReadOnly("X", 
        typeof(Point), typeof(A), 
        new FrameworkPropertyMetadata(new Point(0, 0),  
        FrameworkPropertyMetadataOptions.Inherits | 
        FrameworkPropertyMetadataOptions.AffectsRender));

    public static readonly DependencyProperty XProperty =  
        RelativeMousePointPropertyKey.DependencyProperty;

    public Point X
    {
        get { return (Point)GetValue(XProperty); }
        set { SetValue(XProperty, value); }
    }

    public void SetRelativeMousePoint(Point point)
    {
        SetValue(XPropertyKey, point);
    }
}

public class B
{ 
    //I use this class for binding
    public static readonly DependencyProperty XProperty = 
        A.XProperty.AddOwner(typeof(B));

    public Point X
    {
        get { return (Point)GetValue(X); }
    }
}

0 个答案:

没有答案