c# - 如何在 WPF 中对可编辑组合框应用拼写检查

标签 c# .net wpf combobox wpf-controls

WPF 带有拼写检查的内置功能。拼写检查被添加到TextBoxBase 对象,它自动继承了所有的文本输入控件。因此,任何输入控件都将自动派生拼写检查功能。

但我正在寻找一种解决方案来为 editable ComboBox 设置拼写检查器,它不是从 TextBoxBase 继承的。是否有任何方法可以设置拼写检查用于可编辑组合框 Controller ?

最佳答案

您需要 declare your own ControlTemplate对于 ComboBox。在那个 ControlTemplate 中,您可以从 ComboBox 的默认 ControlTemplate 开始,您可以在 ComboBox Styles and Templates 上找到它。 MSDN 上的页面。

在默认模板中,您应该看到一个名为 PART_EditableTextBoxTextBox...您可能已经猜到了,这是 ComboBox< 的可编辑部分。然后您需要做的就是将 SpellCheck.IsEnabled 附加属性设置为 True 并将新的 ControlTemplate 应用为您的 ComboBox.Template 值:

<TextBox x:Name="PART_EditableTextBox" 
               SpellCheck.IsEnabled="True"
               Style="{x:Null}"
               Template="{StaticResource ComboBoxTextBox}"
               HorizontalAlignment="Left"
               VerticalAlignment="Bottom"
               Margin="3,3,23,3"
               Focusable="True"
               Background="Transparent"
               Visibility="Hidden"
               IsReadOnly="{TemplateBinding IsReadOnly}" />

关于c# - 如何在 WPF 中对可编辑组合框应用拼写检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054507/

相关文章:

C# - 反序列化 SOAP 消息

c# - 从浏览器获取 URL 到 C# 应用程序

c# - 画线和时的奇怪行为。矩形

wpf - WPF 中的闪烁按钮内容模板

c# - 使用反射执行带有 Action<T> 参数的方法

c# - 在 ASP.NET 自承载 Web API 上配置 SSL

c# - "int"到 "generic"数据类型在 c# 中给出错误

.NET SslStream 没有正确关闭 TLS 连接

.net - 如何访问位图图像中的每个字节

c# - Windows Mobile 上的 vector 图形