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的误解。。。有什么帮助吗?
Window.ShowDialog
是查看页面所需的内容。但人们并没有像你那样得到有约束力的信息;这也应该改变。
当文本框失去焦点时,它将更新绑定,以便代码
var be = NameBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();
不需要。(这是winform编程的遗留形式吗?)所以我建议不要更新绑定。
如果绑定没有更新,唯一可能做的事情就是将绑定更改为使用TwoWay
模式,这确保了绑定到的变量和屏幕上的文本框之间的来回数据传输。