저는이 문제를 파악하기 위해 모든 노력을 기울였습니다. :(WPF Validation.HasError TextBox의 여백 설정
텍스트 상자를 들어, 그것이 유효성 검사 오류를 가지고있는 동안 나는
이이 잘 작동합니다. 텍스트 상자의 오른쪽에 이미지와 Validation.ErrorTemplate 설정이! 그러나 한 가지 내가하고 싶은 크기를 조정하거나 오류가있는 텍스트 상자 여백을 설정하여 텍스트 상자가 폼에있는 공간 내에 맞도록 설정합니다. 현재 이미지가 텍스트 상자 영역 외부로 이동합니다 ..
정말로 원하는 것은 오류가있는 텍스트 상자입니다. 없이 텍스트 상자와 같은 공간을 차지합니다.
여기 내 XAML 스타일입니다 :
0 난 그냥 값에 "0,0,20,0"을 사용하기 전에<Style TargetType="{x:Type TextBox}">
<Style.Resources>
<my:TextBoxWidthTransformConverter x:Key="TextBoxWidthTransformConverter"/>
</Style.Resources>
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="Foreground" Value="Red"/>
<Setter Property="Margin" Value="{Binding Converter={StaticResource TextBoxWidthTransformConverter}, RelativeSource={RelativeSource Self}}"/>
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=(Validation.Errors).CurrentItem.ErrorContent}"/>
</Trigger>
</Style.Triggers>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<StackPanel
Margin="{TemplateBinding Margin}"
Orientation="Horizontal"
RenderOptions.BitmapScalingMode="NearestNeighbor"
>
<AdornedElementPlaceholder
Grid.Column="1"
Grid.Row="1"
Name="controlWithError"
/>
<Border Width="2"/>
<Image
ToolTip="{Binding ElementName=controlWithError, Path=AdornedElement.(Validation.Errors).CurrentItem.ErrorContent}"
Source="imagepath"
/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
나는 아무 소용, 내가 일이 뭔가를 얻을 수 있다면 바로 볼 수 TextBoxWidthTransformConverter 변환기를 사용하지만 해요 . 변환기는 작동하지 않으며 여백은 변하지 않습니다. Snoop을 사용하여 속성을 변경하거나 변경 한 것을 볼 수 있지만 아무 일도 발생하지 않는지 확인했습니다.
여백은 Validation.HasError 속성으로 변경할 수없는 속성입니까?
모든 통찰력은 훌륭합니다!
감사합니다.