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>
コンテンツ コントロールの「青」としてボーダー ブラシを使用しているため、コンテンツ コントロールは常に青い境界線で表示されます。検証エラーが発生すると、ValidationOnDataerror を使用しているため、ヘッダー付きコンテンツ コントロールの境界線内で使用しているテキスト ボックスが赤に変わります。今、私の要件は、検証が発生したときに(つまり、内側のテキストボックスが赤色の場合)、コンテンツの境界線も赤色に変更することです...
私は自分のコントロールがどのように入力されているかを画像に添付しています..(1)はコンテンツコントロールの境界線であり、(2)はテキストボックスコントロールです。
テキストボックスの色に基づいてコンテンツコントロールの色を変更するにはどうすればよいですか...
前もって感謝します...