Свойство зависимости не привязано к UserControl - PullRequest
0 голосов
/ 25 января 2012

У меня есть пользовательский элемент управления, который имеет проблемы с привязкой к свойству зависимости для IsEnabled.Я также попытался вручную установить IsEnabled = "false", и это также, кажется, не работает.

Вот код:

public partial class News : UserControl
{
    public static readonly DependencyProperty IsAuthenticatedProperty =
    DependencyProperty.Register(
    "IsAuthenticated",
    typeof(bool),
    typeof(News),
    new FrameworkPropertyMetadata(
    new PropertyChangedCallback(ChangeAuth)));

    public bool IsAuthenticated
    {
        get
        {
            return (bool) GetValue(IsAuthenticatedProperty);
        }
        set
        {
            SetValue(IsAuthenticatedProperty, value);
        }
    }

    private static void ChangeAuth(DependencyObject source, DependencyPropertyChangedEventArgs e)
    {
        if (e.NewValue is bool == false)
        {
            (source as News).UpdateAuth(false);
        }
        else 
        { 
           (source as News).UpdateAuth(true);
        }
    }

    private void UpdateAuth(bool value)
    {
        IsAuthenticated = value;
    }


    public News()
    {
        IsAuthenticated = false;
        this.IsEnabled = false;
        InitializeComponent();
    }

Есть идеи?Заранее спасибо

1 Ответ

1 голос
/ 25 января 2012

Трудно быть уверенным, так как вы не показали свою привязку в XAML, однако ваша привязка по умолчанию будет искать свойство привязки для того, что установлено в DataContext.Я подозреваю, что это проблема ...

Если это предположение верно, то здесь представлено аналогичное решение ...

...