WPF:可见性绑定,event = null

时间:2011-05-24 13:36:45

标签: wpf events binding visibility

我有以下代码:

    public event EventHandler LoadingControlVisibilityChanged;
    public Visibility LoadingControlVisibility
    {
        get { return _LoadingControlVisibility; }
        set
        {
            _LoadingControlVisibility = value;
            if (LoadingControlVisibilityChanged != null)
                LoadingControlVisibilityChanged(this, EventArgs.Empty);
        }
    }

<Label x:Name="loading" Visibility="{Binding Path=LoadingControlVisibility, Mode=OneWay}" Content="No Devices Detected!" FontFamily="{DynamicResource AppFont}" HorizontalAlignment="Left" Margin="110,0,0,0" FontSize="21.333" />

第一次绑定工作,但是在我更改了LoadingControlVisibility后没有任何反应,调试后我注意到event = null。请帮我解决这个问题。

我的text属性没有问题:

    public event EventHandler UUidChanged;
    public string UUid
    {
        get { return _uuid; }
        set
        {
            _uuid = value;
            if (UUidChanged != null) UUidChanged(this, EventArgs.Empty);
        }
    }
<TextBox Text="{Binding Path=UUid, Mode=OneWay}" Margin="122.48,11.26,9,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="{DynamicResource MediumFontSize}" FontFamily="{DynamicResource AppFont}" Template="{DynamicResource TxtBoxTemplate}" Height="25" >

为什么会有所不同?

2 个答案:

答案 0 :(得分:2)

Binding语句不会查找您定义的事件。您必须改为INotifyPropertyChanged

答案 1 :(得分:-1)

我不太确定你想要完成什么。我的理解是您尝试将标签的可见性绑定到另一个类中定义的名为LoadingControlVisibility的属性。如果是这种情况,那么您的路径在绑定中是错误的。您的绑定应如下所示:Visibility="{Binding LoadingControlVisibility}"