私はどこかでこの問題を見たことがあることを知っていますが、その時に答えがあったかどうかはわかりません。TextBox
WPF、.NET4.0のにSpellCheckを追加しようとしています。間違った単語を見つけてマークするという点では問題なく機能し、間違っている場合は最初の単語を置き換えTextBox
ます。単語1を過ぎたものはありますが、TextBox
何も変更せずにカラットを先頭に移動しますか?私が言ったように、私はこれを約6〜9か月前にどこかで見ましたが、今ではグーグルで思いついたものはすべて代替言語を扱っています(私は今のところ厳密に英語にとどまっています)。完全を期すためだけにイベントメソッドとスタイル設定XAMLを含めましたが、問題はそこにあるとは思いません。
XAML:
<MultiBox:MultiBox Name="callNotes" Grid.Column="1" Width="Auto" Height="Auto" Margin="2,5,15,20" VerticalAlignment="Stretch" AcceptsReturn="True" FontWeight="Bold" GotFocus="callNotes_GotFocus" SelectAllOnGotFocus="False" SpellCheck.IsEnabled="True" xml:lang="en-US" Style="{StaticResource TextBoxStyle}" TextChanged="callNotes_TextChanged" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" />
<Style x:Key="TextBoxStyle" TargetType="{x:Type MyNamespace:MultiBox}">
<Setter Property="CharacterCasing" Value="Upper" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="Height" Value="23" />
<Setter Property="Width" Value="Auto" />
<Setter Property="SelectAllOnGotFocus" Value="True" />
<Setter Property="TextWrapping" Value="Wrap" />
</Style>
コード:
private void callNotes_TextChanged(object sender, TextChangedEventArgs e)
{
callNotes.Text.ToUpper();
lineCountOne.Content = ((callNotes.Text.Length / 78) + 1);
}
private void callNotes_GotFocus(object sender, RoutedEventArgs e)
{
callNotes.CaretIndex = callNotes.Text.Length;
}