wpf의 기본 스타일과 스타일을 가지고 있습니다.WPF 스타일을 기본 스타일에 바인딩
<Style x:Key="BaseTextBox" TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="#DDFFDD" />
<Setter Property="MinWidth" Value="75" />
<Setter Property="behaviors:OCCInteraction.Triggers" Value="{StaticResource ResourceKey=validationTrigger}" />
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="Background" Value="#FFDDDD"/>
<Setter Property="ToolTip" Value="{Binding Path=(Validation.Errors)[0].ErrorContent, RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
그리고 특정 스타일은 다음과 같습니다 :
기본 스타일입니다
<Style x:Key="EditableTextBox" TargetType="{x:Type TextBox}" BasedOn="{StaticResource ResourceKey=BaseTextBox}">
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<Border BorderBrush="Red" BorderThickness="1" Padding="0" Margin="0">
<AdornedElementPlaceholder Margin="0"/>
</Border>
<TextBlock Text="test" />
<Image Style="{StaticResource ResourceKey=WarningImage}"/>
<TextBlock Text="{Binding Path=(Validation.Errors)[0].ErrorContent, RelativeSource={RelativeSource Mode=Self,AncestorLevel=2}}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
는 지금은 이미지 옆에있는 TextBlock에 유효성 검사 오류 텍스트를 추가 할. 하지만 같은 바인딩 경로가 작동하지 않습니다. 다른 바인딩을 시도했지만 기본 스타일과 같은 바인딩에 액세스하는 방법을 알아낼 수 없습니다.
감사합니다.
이봐, 네,베이스 스타일, 여러 상대 소스 구성 등에서 같은 시도했다. 일반적으로 조상 수준으로 작동하지만이 스타일로 작동하지 않는 것 :( –