템플릿 바인딩에서 약간 녹슬어져있는 것처럼 보입니다.이 기능을 사용할 수 없습니다. 무엇이 잘못되었는지 보시겠습니까?올바른 템플릿 바인딩을 수행하는 방법은 무엇입니까?
<Style TargetType="{x:Type Framework:TextPropertyRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Framework:TextPropertyRow}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ContentPresenter ContentSource="Header" />
<TextBox Text="{TemplateBinding Content}" Grid.Column="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
I는 다음과 같이 사용하고 있습니다 :
<Framework:TextPropertyRow Header="Value"
Content="{Binding PublicStringPropertyOnDataContext}" />
이 같은 스타일과 컨트롤 템플릿
public class TextPropertyRow : HeaderedContentControl
{
}
:
는이 같은 사용자 지정 컨트롤을 가지고 그러나 텍스트 상자에 입력 된 값은 viewmodel 데이터 인터페이스에 주입되지 않습니다. 이것이 올바른 방법이 아닌가? 값이 런타임에 두 가지를가는 경우에
TemplateBinding와 일반 바인딩을 수행합니다. –