C# WPF组合框边框刷赢得';不变

C# WPF组合框边框刷赢得';不变,c#,wpf,xaml,combobox,C#,Wpf,Xaml,Combobox,我正在为数据库连接构建登录屏幕。现在,我正在表单上进行数据验证,并希望在验证失败的字段上设置一个红色边框。这在文本框和密码框上非常有效,但我无法让它在组合框上工作 我查看了不同的线程,发现有人用与我尝试过的相同的方式运行它,但无论出于何种原因,它在我的设置中不起作用 我现在如何设置边界: (注释掉是我尝试的另一种方法,看看是否可以得到任何结果。) 我也尝试过像这样直接编辑它myComboBox.BorderBrush=brusks.Red 组合框的XAML: <ComboBox Name=

我正在为数据库连接构建登录屏幕。现在,我正在表单上进行数据验证,并希望在验证失败的字段上设置一个红色边框。这在文本框和密码框上非常有效,但我无法让它在组合框上工作

我查看了不同的线程,发现有人用与我尝试过的相同的方式运行它,但无论出于何种原因,它在我的设置中不起作用

我现在如何设置边界:
(注释掉是我尝试的另一种方法,看看是否可以得到任何结果。)

我也尝试过像这样直接编辑它
myComboBox.BorderBrush=brusks.Red

组合框的XAML:

<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>

在运行时查看LiveVisualTree,我发现在元素本身中设置了BorderBrush属性,但在ComboBox中有一个Border元素没有设置

如果可能的话,我希望这样做而不必绕着VisualTreeHelper爬


我对WPF和XAML还比较陌生,所以当我发现应用程序中的其他地方存在导致这种情况的问题时,我不会感到太惊讶。如果你认为这是可能的,你能告诉我该去哪里找吗?

不幸的是,没有人就此回复我,我也无法解决这个问题

以下是我为有同样问题的人所做的:

作为一种解决方法,我在Xaml中去掉所有元素的边框(将厚度设置为0),并在需要突出显示以进行验证的任何内容周围添加一个名为
的标记

我所要做的就是将border元素传递到原始post中定义的函数activateValidationErrorHighlight中

<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>