2013-02-21 4 views
0

현재 코드에서 문제가 있습니다.Relativesource의 데이터 바인딩 종속성 속성

UI에는 종속성 속성 showbutton에 대한 데이터 바인딩 단추가 있습니다. MVVM 아키텍처를 기반으로합니다.

XAML은 다음과 같습니다. 업데이트는

를 통해이라고 그리드>

등록 된 DependencyProperty에이

public static readonly DependencyProperty buttonDisplay= DependencyProperty.Register("showbutton", typeof(bool), typeof(class2), new PropertyMetadata((bool)false)); 

public bool showbutton 
{ 
    get { return (bool)GetValue(buttonDisplay); } 
    set { SetValue(buttonDisplay, value); } 
} 

처럼 보인다 \

<Grid> 
......... 
<Button .... IsEnabled="{Binding Path=class1.class2.showbutton,RelativeSource={RelativeSource FindAncestor, AncestorType=views:view2, Mode=FindAncestor, AncestorLevel=1}}"/> 

............... <

private void UpdateProperties() 
{ 
    showbutton= User.CheckPrivilege("ShudEnable");  } 
} 

버튼이 표시 버튼에 따라 사용 설정되지 않습니다. 무엇이 문제 일 수 있습니까? 프로그래밍 방식으로 쇼 버튼 값을 변경할 수 있습니까? 그렇다면 어떻게?

+0

ViewModel 코드를 보여 주실 수 있습니까? – ethicallogics

+0

흠 .. 꽤 복잡하고 거대합니다. 그것은 viewmodel베이스에서 파생 된 중첩 된 뷰 모델을 가지고 있습니다. 정확히 무엇이 필요합니까? – user1687824

+0

showbutton Proeprty 코드. – ethicallogics

답변

1

시도해보십시오. DataContext.class1.class2.showbutton - 바인딩 경로가 올바른지 확인하십시오. snoop이라는 유틸리티를 사용하여 바인딩 오류를 확인할 수 있습니다. http://snoopwpf.codeplex.com/

+0

나는 이것을 시도하고 업데이트 할 것입니다. – user1687824

+0

Datacontext가 설정되었습니다. 그래서 그것 때문에 나는 그것을 추측하지 않는다. .. – user1687824

관련 문제