私はデータベース接続用のサインイン画面を作成しています。今、私はフォーム上でデータ検証を行い、検証に失敗したフィールドに赤い枠線を設定したいと考えています。これはTextBoxesとPasswordBoxesで完全に動作しますが、コンボボックスで動作するようにはできません。WPF ComboBox BorderBrushは変更されません
私はさまざまなスレッドを見て、同じ方法で作業している人を見つけましたが、何らかの理由でセットアップでは機能しません。私は今、国境を設定していますどのように
:(。コメントアウト私はどんな結果を得ることができるかどうかを確認しようとしていた別の方法である)
は
private void activateValidationErrorHighlight(Control uiElelment)
{
uiElelment.SetValue(Border.BorderBrushProperty, new SolidColorBrush(Color.FromArgb(0xFF, 0xD0, 0x50, 0x50)));
//uiElelment.BorderBrush = new SolidColorBrush(Color.FromArgb(0xFF, 0xD0, 0x50, 0x50));
}
私も同じように直接それを編集して試してみましたコンボボックスについては、このmyComboBox.BorderBrush = Brushes.Red;
XAML:
実行-TI中LiveVisualTreeを見てみると<ComboBox Name="cb_DevelopmentServer" Text="Server"
Grid.Column="0" Grid.Row="4"
Margin="5" Padding="5"
FontSize="16"
IsEditable="True">
<ComboBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding Path=ComboTest}" />
</CompositeCollection>
</ComboBox.ItemsSource>
</ComboBox>
私は、BorderBrushプロパティが要素自体に設定されていることがわかりましたが、ComboBox内にBorder要素が設定されていません。
可能であれば、私はVisualTreeHelperを登ることなくこれをしたいと思います。
私はWPFとXAMLの新機能ですので、アプリのどこかに問題があることに驚くことはありません。あなたがそれが可能だと思うなら、私がどこで見えるかも知っていますか?