0

(WPF Application / WPF UserControl を使用)

以下のコードを使用して、テキスト ボックスからグローバル文字列にテキストを保存することができます。

private void commentBox_TextChanged(object sender, TextChangedEventArgs e)
{
    Properties.Settings.Default.cmd01 = commentBox.Text;

    //always save on every input change??
    Properties.Settings.Default.Save();
}

しかし、私が今疑問に思っているのは、この場合、saveテキストが変更されるたびに が呼び出されるということです。したがって、私が正しいことを理解していれば、押されたキーごとに保存されます。

これをもっときれいな方法で行うことはできますか?たとえば、ユーザーがテキストボックスなどからフォーカスを離れたときは?

4

2 に答える 2

1

あなたが提案したように:あなたのUIElement.LostFocusイベントまたはKeyboard.LostKeyboardFocus添付イベントをサブスクライブしTextBox、そこで保存を行います。

private void commentBox_LostFocus(object sender, RoutedEventArgs e)
{
    Properties.Settings.Default.Save();
}

また

private void commentBox_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
    Properties.Settings.Default.Save();
}
于 2012-04-07T18:41:08.180 に答える