2012-01-02 2 views
0

나는 추상적 인 UserControl (myAbstractControl)에서 상속받은 Control (mySubControl)을 가지고있다. 내가 항상 말, 런타임에 오류가 발생할 수 mySubControl 내부 종속성 속성 설정하려고 할 때 :추상 UserControl에서 상속하는 컨트롤에서 종속성 속성을 설정하는 방법?

"System.Windows.Data Error: 40 : BindingExpression path error: 'myPropertyRegistrationName' property not found on ...."

은 어떻게 든 mySubControl의 DataContext에이 엉망이됩니다 생각합니다.

나는 상대 바인딩을 사용하려고하지만, 또한 그것을 수정하지 않습니다.

Visibility="{Binding RelativeSource={RelativeSource AncestorType={x:Type myNS:myType}}, 
        Path=myPropertyRegistrationName}" 

아무도 도와 줄 수 있습니까?

Thx

+0

'발견되지 않음'이있는 부분은 중요하며 '...'는 도움이되지 않습니다. 'DataContext'가 당신이 원하는 부분이 아니라면 그 부분은 당신에게 말할 것입니다. –

+0

'myNS : myType'이란 무엇입니까? 또한 당신이'Type' 인스턴스에 바인딩되어 있다고 가정하면, 당신의 속성 인 myPropertyRegistrationName' **은 ** static으로 선언되어야하고 또한 바인딩에 어떤 변환기들도 보지 않아서'Visibility' 타입이어야합니다. –

+0

게시물을 actula DP 선언으로 업데이트하십시오. DP 속성의 실제 CLR 이름이 아닌 올바른 이름 (예 : DP 선언의 첫 번째 인수)을 사용해야합니다. –

답변

0

항상 구문입니다. 어쨌든, Thx 어쨌든입니다.

Visibility="{Binding myPropertyRegistrationName, RelativeSource={RelativeSource FindAncestor, AncestorType=myNS:myType}}" 

어쨌든.

관련 문제