2012-01-25 213 views
0

我有一个用户控件,它有问题绑定到IsEnabled的依赖项属性。我也尝试手动设置IsEnabled =“false”,这也似乎不起作用。不依赖于UserControl的依赖属性

下面是代码:

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

由于您没有在XAML中显示绑定,所以很难确定,但是,默认情况下,绑定将在DataContext中设置的任何对象上查找绑定属性。我怀疑这是问题...

如果这个假设是正确的,类似的solution is presented over here ...