2013-04-13 2 views
0

내 응용 프로그램에서 템플릿 컨트롤을 만들었습니다. 이제 MinWidth를 종속성 속성에 바인딩하려고합니다. 내 XAML에서 예를 들어 나는왜 MinWidth에 바인딩이 작동하지 않습니까?

<ColumnDefinition Width="Auto" MinWidth="{TemplateBinding ColumnWidth}"/> 

이 내 코드에서

public double ColumnWidth 
{ 
    get { return (double)GetValue(ColumnWidthProperty); } 
    set { SetValue(ColumnWidthProperty, value); } 
} 

public static readonly DependencyProperty ColumnWidthProperty = 
    DependencyProperty.Register(
     "ColumnWidth", typeof(double), typeof(Schedule), new PropertyMetadata(200)); 

불행하게도, 그것은 작동하지 않습니다와 나는 이유를 잘 모릅니다. MinWidth는 항상 0입니다. 누군가 내가 뭘 잘못하고 있는지 알고 있을까요?

+0

'출력'창을보십시오. 거기에'바인딩 '오류가보고 되었습니까? –

+0

Stackoverflow에 오신 것을 환영합니다! 제목에 태그를 추가 할 필요가 없습니다. 태그 시스템이 있습니다. 일반적인 설명은 http://meta.stackexchange.com/q/19190을 참조하십시오. – Patrick

답변

1

TemplateBinding이 경우 작동하지 않습니다 이유는 모르겠지만, 당신은 항상이 같은 일반 Binding하여 대체 할 수 : 나는이를 테스트 한

<ColumnDefinition MinWidth="{Binding ColumnWidth, 
          RelativeSource={RelativeSource Mode=TemplatedParent}}"/> 

사용자 지정 컨트롤의 ControlTemplate입니다. TemplateBinding가 작동하지 않으면 Binding 않습니다.

관련 문제