gpt4 book ai didi

WPF:创建对话框/提示

转载 作者:行者123 更新时间:2023-12-03 05:21:20 28 4
gpt4 key购买 nike

我需要创建一个对话框/提示,包括用于用户输入的文本框。我的问题是,确认对话框后如何获取文本?通常我会为此创建一个类,将文本保存在属性中。不过我想使用 XAML 设计对话框。因此,我必须以某种方式扩展 XAML 代码才能将 TextBox 的内容保存在属性中 - 但我想这对于纯 XAML 是不可能的。实现我想做的事情的最佳方式是什么?如何构建一个可以从 XAML 定义但仍然可以以某种方式返回输入的对话框?感谢您的任何提示!

最佳答案

“负责任”的答案是我建议为对话框构建一个 ViewModel 并在 TextBox 上使用双向数据绑定(bind),以便 ViewModel 具有一些“ResponseText”属性或其他属性。这很容易做到,但可能有点过分了。

务实的答案是只给你的文本框一个 x:Name,这样它就成为一个成员,并将文本作为你的代码隐藏类中的属性公开,如下所示:

<!-- Incredibly simplified XAML -->
<Window x:Class="MyDialog">
<StackPanel>
<TextBlock Text="Enter some text" />
<TextBox x:Name="ResponseTextBox" />
<Button Content="OK" Click="OKButton_Click" />
</StackPanel>
</Window>

然后在你的代码后面......

partial class MyDialog : Window {

public MyDialog() {
InitializeComponent();
}

public string ResponseText {
get { return ResponseTextBox.Text; }
set { ResponseTextBox.Text = value; }
}

private void OKButton_Click(object sender, System.Windows.RoutedEventArgs e)
{
DialogResult = true;
}
}

然后使用它...

var dialog = new MyDialog();
if (dialog.ShowDialog() == true) {
MessageBox.Show("You said: " + dialog.ResponseText);
}

关于WPF:创建对话框/提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796470/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com