2012-01-25 7 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 ...

관련 문제