如何在WPF中对Editable ComboBox应用拼写检查

Thi*_*a H 6 .net c# wpf combobox wpf-controls

WPF附带一个内置的SpellCheck功能.SpellCheck被添加到TextBoxBaseobject,它textual input controls自动继承所有.因此,任何输入控件都将自动派生拼写检查功能.

但我正在寻找一个解决方案,设置拼写检查器,editable ComboBox而不是从TextBoxBase.Are 继承.有没有办法设置可编辑ComboBox控制器的拼写检查?

She*_*dan 4

您将需要声明您自己ControlTemplateComboBox. 在该 中ControlTemplate,您可以从 的默认值开始ControlTemplate,您可以在 MSDN 上的ComboBox 样式和模板ComboBox页面上找到它。

在默认模板中,您应该看到一个TextBox名为PART_EditableTextBox...的内容,您可能已经猜到了,这是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}" />
Run Code Online (Sandbox Code Playgroud)