问题
I'm trying to enable spell checking on a RichTextBox in a small WPF application. Most of the documents for the application are in danish. I would prefer to use natively WPF spell checking like
<RichTextBox Name="rtb" SpellCheck.IsEnabled="True" xml:lang="da"></RichTextBox>
I've googled most of the web (or so it seems) - and I can only find old posts from 2009/2010 saying only english, german, french and spanish are supported. My thought was more languages ought to be supported by now - but can find no information on this.
Can anyone confirm that still only those four languages are supported - or better yet tell me, that danish is also supported natively by WPF?
回答1:
Please see this blog post from the WPF team that elaborates a bit more.
In configurations where only 4 languages are supported, you just need to set xml:lang correctly - I don't believe that you need to installe any additional lang-packs.
On platforms that support additional languages, the OS needs the underlying platform support to be enabled first. This support can be enabled by installing the corresponding Feature On Demand package (FoD) package.
The KB article linked above doesn't elaborate on precisely how to install the right FoD package. You can do this in one of the two ways -
- Add the corresponding keyboard.
- In Win10, go to Settings -> Time & Language -> Region & Language -> Add a Language. By default, this will add keyboard support for the language in question (this does not add language packs by default). The OS will notify Windows Update to download and install the corresponding FoD package automatically (you'll see a notification indicating that new features are being installed). Once this is done, WPF will start supporting spell checking for the language you just enabled.
- You can also enable it using DISM by following the instructions here. The packages to look for are the 'Basic' ones. This can be done in 'online' mode (i.e., in an up-and-running OS), or during OS image creation offline (usually done for repeatable deployments).
回答2:
I've looked around and I think that they still only support 4 languages for spell check.
here is a similar post: Does WPF's TextBox support spell-check dictionaries for the Netherlands?
EDIT: here is a quote from one link:
Spelling support in WPF is limited to four languages: English, Spanish, French, and German. Custom dictionaries are designed to augment the default dictionaries for these languages and not to extend spelling support to other languages.
Source: http://blogs.msdn.com/b/text/archive/2009/10/02/custom-dictionaries.aspx
回答3:
Spellchecking works already with all languages supported by Windows. You need to download full Windows language pack (Windows translation) for desired language. In Windows' lower than 10 .NET 4.6.1 with language packs may be required.
来源:https://stackoverflow.com/questions/19519804/wpf-spell-check-languages