TextBox
次のように、検証エラー メッセージを表示するためのスタイルがあります。
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="true">
<Setter Property="ToolTip"
Value="{Binding RelativeSource={x:Static RelativeSource.Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
</Trigger>
</Style.Triggers>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<StackPanel Orientation="Horizontal">
<Border BorderBrush="{Binding Path=ErrorContent,
Converter={StaticResource ValidationErrorToBrushConverter}}" BorderThickness="2">
<AdornedElementPlaceholder />
</Border>
<Image Name="image1" Height="14" Width="14" Stretch="Fill" Margin="1,1,1,1"
Source="{Binding Path=ErrorContent,
Converter={StaticResource ValidationErrorToImageSourceConverter}}"
ToolTip="{Binding Path=ErrorContent}"/>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
にTextBox
住んでいExpander
ます。エキスパンダーを開くと、入力はTextBox
許可されますが、入力がNullorEmpty
、または特殊文字を含む場合、検証に失敗します。
私の問題は、検証エラーをトリガーするTextBox
と、赤く点灯し、ツールチップとしてメッセージ付きのアイコンが表示されることです。これまでのところすべて順調です。Expander
しかし、検証に合格せずに閉じると、赤いアウトラインとツールチップ付きのアイコンがまだ残っています! Expander
縮んでも!浮かんでいるだけ… これは良くない振る舞いです。
の他のすべてのコントロールと一緒に検証のものを非表示にする方法についてのアイデアはありExpander
ますか? また、検証用の Style は、それ自体ではなく、UserControl のリソースで宣言されExpander
ます。