質問

私は多くのテキストボックスを備えたグリッドを持っています、そして私は電話したい NotifyPropertyChanged() これらのテキストボックスESのいずれかが値を変更するたびに他のコントロールを更新する方法=フォーカスを失った(私はほしくない 使用する PropertyChanged なので UpdateSourceTrigger)

これが私にできることです:

<Grid TextBoxBase.TextChanged="My_TextChanged"  >
...
</Grid>

私は次のようなものが必要です:

TextBoxBase.OnLostFocus
役に立ちましたか?

解決

Lostフォーカスイベントを使用してください

TextBox.LostFocus="OnTextBoxLostFocus"

テキストボックスでフィルター;)

private void OnTextBoxLostFocus(object sender, RoutedEventArgs e)
{
    if(!(e.OriginalSource is TextBox))
        return;

    //Do stuff
}

ただし、プロパティが変更されていない場合、テキストボックスは更新されません。 LostFocusを使用してモデルを更新するのではなく、他のテキストボックスがバインドされるデータを変えることを検討する必要があります。

幸運を!

他のヒント

TextBoxBase.LostFocus 私はあなたが探しているイベントだと思います。

ここにリストされています: http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.textboxbase_events.aspx - しかし、それは定義されています UIElement - だからあなたはおそらく試してみたい UIElement.LostFocus 上記がマークアップで動作しない場合。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top