WPF: привязка видимости, событие = ноль - PullRequest
0 голосов
/ 24 мая 2011

У меня есть следующий код:

    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, ничего не происходит, после отладки я замечаю, что событие = 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 ]

2 голосов
/ 24 мая 2011

Оператор Binding не будет искать событие, которое вы определили.Вместо этого вы должны реализовать INotifyPropertyChanged .

0 голосов
/ 24 мая 2011

Я не совсем уверен, чего вы пытаетесь достичь.Насколько я понимаю, вы пытаетесь связать видимость вашей метки со свойством с именем LoadingControlVisibility, которое определено в другом классе.Если это так, то ваш путь неверен в привязке.Ваше связывание должно быть следующим: Visibility="{Binding LoadingControlVisibility}"

...