wpf - 样式自动完成框错误指示器

标签 wpf xaml wpftoolkit autocompletebox

WPF Toolkit 中的 AutoCompleteBox 出现错误时,是否可以更改出现的红色矩形的样式?我成功地在 TextBox 上更改了它,只是为控件创建了一个新样式,但无论我用 AutoCompleteBox 做什么,我都无法摆脱那个红色矩形。即使我像这样删除样式:

<input:AutocompleteBox Style="{x:Null}"/>

我看不到控件,但如果控件绑定(bind)有错误,它仍然显示一条红线!我真正想要的是 AutoCompleteBox 使用内部 TextBox 验证指示器,但首先我需要删除那个外部矩形。关于如何执行此操作或创建红色矩形的任何想法?

最佳答案

AutocompleteBoxTextBoxSelectionAdapterDropDownTogglePopup 组成。 您所描述的错误状态样式在 TextBoxStyle 中定义:

<Style TargetType="controls:AutoCompleteBox">
    <Setter Property="IsTabStop" Value="False" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="controls:AutoCompleteBox">
                <Grid Margin="{TemplateBinding Padding}"
                      Background="{TemplateBinding Background}">
                    <TextBox IsTabStop="True" x:Name="Text" Style="{TemplateBinding TextBoxStyle}" Margin="0" />
...

要在出错时更改 TextBox 行为 - 只需更改其样式即可。

关于wpf - 样式自动完成框错误指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12017195/

相关文章:

c# - 如何调用 UpdateSource() 以在 DataGrid 上进行显式绑定(bind)?

c# - WPF 最大化窗口大于屏幕

wpf - 问题排序数据网格

c# - 为什么在 .NET MAUI 中删除项目后 ListView 显示不正确?

c# - WPF 和 WIndows 10. 窗口周围的不可见边框?

c# - 为什么即使处理程序在 WPF 应用程序生命周期中是异步无效的,Application.Exit 事件仍然有效?

c# - 绑定(bind)到项目而不是列表框中的属性

wpf - 更改绑定(bind)属性的值时如何为文本 block 的背景设置动画?

wpf - 如何在 C# 代码中设置转换器绑定(bind)?

WPF 数据网格 : Get column binding property for filtering