WPF 4 单词拼写检查(SpellCheck)
???? 在WPF中 Textbox 和RichTextBox 控件都內置了拼寫檢查屬性,但該屬性目前默認僅支持English、Spanish、French 和German 四種語言。
·?????? ?#LID 1033 – English
·?????? ?#LID 3082 – Spanish
·?????? ?#LID 1031 – German
·?????? ?#LID 1036 - French
使用拼寫檢查功能時,只需將SpellCheck.IsEnabled 設為True 即可。
<Grid><TextBox SpellCheck.IsEnabled="True" /> </Grid>拼寫錯誤的單詞下方會顯示紅色波浪線,右擊單詞將提示相關糾正單詞。
下面示例通過使用SpellingError 類將糾正單詞獲取到ListBox 中供使用者參考。
<StackPanel HorizontalAlignment="Center" Margin="20"><TextBox x:Name="txtBox" SpellCheck.IsEnabled="True"MouseRightButtonUp="txtBox_MouseRightButtonUp" /><ListBox x:Name="listBox" ItemsSource="{Binding}"><ListBox.ItemTemplate><DataTemplate><TextBlock Text="{Binding}"/></DataTemplate></ListBox.ItemTemplate></ListBox> </StackPanel> private void txtBox_MouseRightButtonUp(object sender, MouseButtonEventArgs e) {int catatPos = txtBox.CaretIndex;SpellingError error = txtBox.GetSpellingError(catatPos);if (error != null){foreach (string suggession in error.Suggestions){listBox.Items.Add(suggession);}} }
在錯誤單詞后面點擊鼠標右鍵,便會將糾正單詞寫入下方列表中。
???? 在WPF 4 中SpellCheck 增加了CustomDictionaries 功能,可以使開發人員添加默認語言中未包含或被忽略的單詞,以便進行自定義單詞拼寫檢查。上例錄入的文字中“Micrsoft Visual Stvdio WPF 4” ,其實我們認為“WPF” 并不是拼寫錯誤,只是由于默認的四種語言中并不存在“WPF”這個單詞,因此我們可以通過自定義詞典將“WPF”設置為可識別單詞。
首先打開Notepad 編寫詞典文件(.lex),在文件中按以下格式編寫單詞內容:
#LID 1033 Word1 Word2 Word3???? 文檔中的第一行為詞典適用的語言種類(英語),若不編寫該行意為適用于所有語言,其他語言Locale ID 信息可參考這里。結合本篇實例我們只需在文檔寫入“WPF”單詞即可,將編輯好的詞典文件加入項目中:
為TextBox 添加自定義詞典:
<Window x:Class="WPFTextTest.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:sys="clr-namespace:System;assembly=System"><StackPanel HorizontalAlignment="Center" Margin="20"><TextBox x:Name="txtBox" SpellCheck.IsEnabled="True"><SpellCheck.CustomDictionaries><sys:Uri>pack://application:,,,/Lexicon/MSWord.lex</sys:Uri></SpellCheck.CustomDictionaries></TextBox> </StackPanel> </Window>
運行程序輸入同樣內容,可見“WPF”已經不被標識為拼寫錯誤:
posted on 2018-08-08 14:43 NET未來之路 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/lonelyxmas/p/9442694.html
總結
以上是生活随笔為你收集整理的WPF 4 单词拼写检查(SpellCheck)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我的python渗透测试工具箱之自制ne
- 下一篇: 网络流24题 魔术球问题