WPF初始化问题

本文关键字:问题 初始化 WPF | 更新日期: 2023-09-27 18:22:35

我有一个从Window继承的类MyWindow。在MyWindow中,单击OK按钮后,我将执行以下方法:

private void OKButton_Click(object sender, RoutedEventArgs e)
    {
        var be = NameBox.GetBindingExpression(TextBox.TextProperty);
        be.UpdateSource();
        this.Close();
    }

XAML:

<Button Content="OK" 
        Click="OKButton_Click" 
        HorizontalAlignment="Left" 
        Margin="175,473,0,0" 
        VerticalAlignment="Top" 
        Width="75" 
        RenderTransformOrigin="-0.04,0.5"/>

在我初始化UI窗口的另一个类中,我说

MainWindow window = new MainWindow(ViewModel);
window.Show();

然而,一旦window.Show()被执行,随后的代码就会被执行,我实际上无法与我的窗口交互来做我需要做的事情。我觉得这只是对如何在更大的上下文中实际使用WPF的误解。。。有什么帮助吗?

WPF初始化问题

Window.ShowDialog是查看页面所需的内容。但人们并没有像你那样得到有约束力的信息;这也应该改变。

当文本框失去焦点时,它将更新绑定,以便代码

 var be = NameBox.GetBindingExpression(TextBox.TextProperty);
 be.UpdateSource();

不需要。(这是winform编程的遗留形式吗?)所以我建议不要更新绑定。

如果绑定没有更新,唯一可能做的事情就是将绑定更改为使用TwoWay模式,这确保了绑定到的变量和屏幕上的文本框之间的来回数据传输。