HeaderedContentControl
을 사용하고
<Style x:Key="ContentBorderStyle" TargetType="Border">
<Setter Property="BorderBrush" Value="Blue"/>
</Style>
<Style TargetType="HeaderedContentControl" x:Key="BaseLabeledItemStyle">
<Style.Setters>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="HeaderedContentControl">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Grid.Column="0">
<ContentPresenter Name="header"
Content="{TemplateBinding Header}"/>
</Border>
<Border Grid.Column="1"
Style="{StaticResource ContentBorderStyle}">
<AdornerDecorator>
<ContentPresenter Name="content"
Content="{Binding RelativeSource={RelativeSource TemplatedParent},Path=Content}"/>
</AdornerDecorator>
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style.Setters>
</Style>
<HeaderedContentControl
Style="{StaticResource ResourceKey=BaseLabeledItemStyle}"
Header="Emp Name">
<!--<ContentControl>-->
<TextBox x:Name="txtName"
Text="{Binding Path=EmpName, Mode=TwoWay, ValidatesOnDataErrors=True}"/>
</HeaderedContentControl>
I 콘텐츠 제어를위한 "블루"로 테두리 브러쉬를 사용하고 나의 콘텐츠 컨트롤 항상 파란색 테두리가 표시됩니다 . 유효성 검사 오류가 발생하면 ValidationOnDataerror를 사용하면서 머리글 내용 컨트롤의 테두리 내부에서 사용중인 텍스트 상자가 빨간색으로 변경됩니다. 이제 내 요구 사항은 유효성 검사가 발생할 때 (즉, 내부 텍스트 상자가 붉은 색으로 표시 될 때) 빨간색 테두리의 콘텐츠 테두리도 변경하는 것입니다 ...
내 컨트롤이 어떻게 채워지는지 .. 1) 내 콘텐츠 컨트롤의 테두리입니다 & (2) 내 텍스트 상자 컨트롤입니다. 내가 텍스트 상자의 색상에 따라 콘텐츠 컨트롤의 색상을 변경할 수있는 방법
... 사전에
덕분에 ...
감사합니다. 이 스타일을 여러 컨트롤에 사용할 때 "txtName"을 사용하면 안됩니다. "txtName"을 어떻게 해당 텍스트 상자로 대체 할 수 있습니까? – devhyd
그리고 여기 나는 텍스트 박스를 사용하고있을뿐 아니라 날짜 컨트롤과 콤보 박스 같은 다른 컨트롤을 사용하고있다. – devhyd