Bom dia!
Pesquisei uma maneira de se fazer uma textbox que corrigisse ortografia e encontrei o código abaixo, que utiliza o SpellCheck do WPF. O texto errado é sublinhado em vermelho e com o clique direito do mouse abrem sugestões de palavras corretas.
O problema é o seguinte, em alguns computadores da rede o texto não é corrigido. O que será que é preciso instalar para fazer a "SpellBox" pegar?
Já tentamos:
- Instalar o Framework 4.5,
- Instalar o pacote de Idiomas do Framework 4.5,
- Instalar o Word,
- Instalar o Visual Studio na máquina.
- Algumas máquinas só estão corrigindo quando o idioma do computador está em inglês (corrigem para o inglês)
- As máquinas que estão funcionando, tem o windows 10 e o Visual Studio instalado.
Se alguém puder dar uma luz, agradeço imensamente.
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Forms.Integration;
using System.Windows.Forms.Design;
[Designer(typeof(ControlDesigner))]
//[DesignerSerializer("System.Windows.Forms.Design.ControlCodeDomSerializer, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
class SpellBox : ElementHost
{
public SpellBox()
{
box = new TextBox();
base.Child = box;
box.TextChanged += (s, e) => OnTextChanged(EventArgs.Empty);
box.SpellCheck.IsEnabled = true;
box.IsReadOnly = false;
box.VerticalScrollBarVisibility = ScrollBarVisibility.Auto;
this.Size = new System.Drawing.Size(100, 20);
}
public override string Text
{
get { return box.Text; }
set { box.Text = value; }
}
[DefaultValue(false)]
public bool Multiline
{
get { return box.AcceptsReturn; }
set { box.AcceptsReturn = value; }
}
[DefaultValue(false)]
public bool WordWrap
{
get { return box.TextWrapping != TextWrapping.NoWrap; }
set { box.TextWrapping = value ? TextWrapping.Wrap : TextWrapping.NoWrap; }
}
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public new System.Windows.UIElement Child
{
get { return base.Child; }
set { /* Do nothing to solve a problem with the serializer !! */ }
}
private TextBox box;
}