TextBox から継承するカスタム AutoCompleteTextBox クラスがあります。検証エラー、つまりコントロールの周りの赤い境界線を表示することを除いて、すべてが正常に機能します。
これが私の Generic.xaml のスタイルです。
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="Padding" Value="2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:AutoCompleteTextBox}">
<Grid>
<Border x:Name="PART_Border" SnapsToDevicePixels="true" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<ScrollViewer x:Name="PART_ContentHost" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<Popup x:Name="PART_Popup" StaysOpen="False">
<ListBox x:Name="PART_ListBox" HorizontalContentAlignment="Stretch" />
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Background" TargetName="PART_Border" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" />
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
<Trigger Property="IsReadOnly" Value="true">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Snoop ユーティリティで確認したところ、赤い境界線は見つかりませんでした。WPF の Generic.xaml Aero.Normal.xaml を確認しましたが、正直なところ、無効なテキスト ボックスの周りに赤い検証境界線が描かれている理由がわかりません。
同様の質問が以前に評価されたことは知っていますが、すべての回答を見直しましたが、どれも役に立ちませんでした。