如何将类内的属性绑定到另一个单例中?

时间:2012-05-21 20:37:20

标签: wpf xaml bind

我有以下课程,例如:

public FatherClass
{
    // This is a singleton, with instance property named Instance

    public static ChildClass PropertyName { get; set; }
}

public ChildClass
{
    public string Name { get; set; }
}

在XAML中使用WPF,如何将Label绑定到此变量Name?我能够用两个级别(即,Father.Name)来完成它,但每次尝试使用3个级别时都会出现错误,如示例所示。

我所做的是:

Label="{Binding Source=namespace:FatherClass.Instance.PropertyName, Path=Name}"

但这不起作用。

谢谢!

2 个答案:

答案 0 :(得分:0)

直接绑定到静态属性:

{x:Static namespace:FatherClass.PropertyName.Name}

答案 1 :(得分:0)

直到单身堂中的班级(如问题中),但我正在使用的单身人士的孩子类型的属性。命名空间:Common.DeviceModel Singleton类:ConnectionStatusManager // QuestionClass的父类 ChildClass:ConnectionStatus //问题的ChildClass 该单身人士的财产:状况 在VM中:

namespace Common.DeviceModel
{
 public class ConnectionStatusManager : INotifyPropertyChanged
    {
      public static ConnectionStatusManager Instance...;
      public static ConnectionStatus Status...;
    }
}

XAML:

xmlns:DeviceModel="clr-namespace:Common.DeviceModel;assembly=Common"

用途:

<DataTrigger Binding="{Binding Source={x:Static Member=DeviceModel:ConnectionStatusManager.Instance}, Path=Status}"  
                                             Value="{x:Static Member=DeviceModel:ConnectionStatus.DisConnected}">
                                                <Setter Property="IsEnabled" Value="False" />
                                            </DataTrigger>