WPF TextBox lostFocus 事件触发器

马纳尔·戈亚尔

我是 WPF 的新手,在我的 mainWindow 中,我有多个 TextBox,所以每当用户在这些文本框中输入不同的输入时,只要用户离开文本框的焦点,我就想在后面的代码中实现这些更改。

例如,我的文本框如下所示:

<TextBox Name="SpiralAngleTextBox"
              Grid.Column="1" Grid.Row="4"
              Margin="5,5,5,5" SelectedText="0"/>

我不打算做任何类型的输入验证。我想要的是在 TextBox 的内容更新后 TextBox 离开焦点时触发一些计算或调用一个函数。

笨蛋叔叔

你可以写一个 EventHandler

    <TextBox Name="SpiralAngleTextBox"
      Grid.Column="1" Grid.Row="4"
      Margin="5,5,5,5" SelectedText="0" LostFocus="SpiralAngleTextBox_LostFocus"/>

并在 xaml.cs

    private void SpiralAngleTextBox_LostFocus(object sender, RoutedEventArgs e)
    {
        foo();
    }

如果你只是想让它在文本框内容改变时做一些事情,你可以尝试这样的事情:

            <TextBox Name="SpiralAngleTextBox"
              Grid.Column="1" Grid.Row="4"
              Margin="5,5,5,5" SelectedText="0" LostFocus="SpiralAngleTextBox_LostFocus" 
TextChanged="SpiralAngleTextBox_TextChanged"/>

并在 xaml.cs

       bool hasChanged;

    private void SpiralAngleTextBox_LostFocus(object sender, RoutedEventArgs e)
    {
        if(hasChanged)
            foo();

        hasChanged = false;
    }

    private void SpiralAngleTextBox_TextChanged(object sender, TextChangedEventArgs e)
    {
        hasChanged = true;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章