c# - C#在窗口之间传递数据(WPF)
问题描述
最近在大学学习C#,想弄清楚如何将MainWindow.xaml中的变量“name”传递给ThirdWindow.xaml?
以下代码用于将数据分配给变量“name”的主窗口
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public void NameBox_TextChanged(object sender, TextChangedEventArgs e)
{
string name = NameBox.Text;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
SecondWindow newWin = new SecondWindow();
newWin.Show();
this.Close();
}
}
下面的代码是第三个窗口
public partial class ThirdWindow : Window
{
public ThirdWindow()
{
InitializeComponent();
}
public void LstThanks_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
LstThanks.Items.Add(name);
}
}
解决方案
您可以通过新窗口的构造函数传递变量
var win = new ThirdWindow(name);
public ThirdWindow(string name)
{
InitializeComponent();
}
另一种方法是通过事件消息传递它。这将要求您编写一条新消息并将一个事件侦听器添加到您在 ThirdWindow 类中的构造函数中。如果你在谷歌上搜索,这里有很多关于如何做这样的事情的例子。
推荐阅读
- c# - 如何构造特定的 linq 查询?
- flutter - 空值检查运算符用于继承的空值小部件颤动
- python-3.x - 如何安装 scipy 和 matplotlib
- javascript - 对数组内对象中的字符串进行排序
- javascript - API 不会渲染?
- python - 我的锚在带有画布的单选按钮中不起作用
- python - 如何为一个或多个表定义多个关系?
- reactjs - 为什么反应组件类的实例变量(不是状态变量)没有在构造函数中初始化值?
- node.js - Puppeteer 启动器错误结果未定义
- swift - 为什么用户登录但没有在 Firebase 中偶尔进行身份验证?