【问题标题】:how to make working custom dictionary in wpf richtextbox如何在 wpf Richtextbox 中制作自定义字典
【发布时间】:2015-05-29 18:56:40
【问题描述】:

我尝试在 RichTextBox 中添加自定义字典(*.lex 格式,utf-16 编码)来进行拼写检查,但它不起作用。如果我对 TextBox 使用这样的代码,它可以工作。

private void SpellCheckInit()
{   
    // this works            
    txt_Box.SpellCheck.CustomDictionaries.Add(new Uri(@"C:\dictionary.lex"));

    // dictionary language is russian, but this setting makes spellcheck works                  
    txt_Box.Language = System.Windows.Markup.XmlLanguage.GetLanguage("en-GB");
    txt_Box.SpellCheck.IsEnabled = true;

    // this doesn't works
    richtxt.SpellCheck.CustomDictionaries.Add(new Uri(@"C:\dictionary.lex"));
    var ruLang = System.Windows.Markup.XmlLanguage.GetLanguage("ru");
    var enLang = System.Windows.Markup.XmlLanguage.GetLanguage("en-GB");
    richtxt.Language = ruLang;

    // or richtxt.Language = enLang; there are no difference for working
    richtxt.SpellCheck.IsEnabled = true; 
}

我已经在字典中添加了#LID1049,但它没有任何效果。 你知道如何解决这个问题吗?

【问题讨论】:

    标签: c# wpf richtextbox spell-checking


    【解决方案1】:

    添加自定义词典有两种方式

    在 XAML 中添加了第一个自定义词典 (customwords.lex)

    <RichTextBox Margin="38,18,40,0" Name="richTextBox1" Height="45" VerticalAlignment="Top" SpellCheck.IsEnabled="True" >
    <SpellCheck.CustomDictionaries>
        <!-- customwords.lex is included as a content file-->
        <sys:Uri>pack://application:,,,/customwords.lex</sys:Uri>
    </SpellCheck.CustomDictionaries>
    

    第二个自定义字典 ​​(customwords2.lex) 添加到事件处理程序中,该文件作为资源文件包含并编译到名为 WPFCustomDictionary 的应用程序程序集中

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        IList dictionaries = SpellCheck.GetCustomDictionaries(richTextBox1);
        // customwords2.lex is included as a resource file
        dictionaries.Add(new Uri(@"pack://application:,,,/WPFCustomDictionary;component/customwords2.lex"));
    }
    

    这对你有用吗???

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-05
      相关资源
      最近更新 更多