我从我的 wpf 应用程序的页面启动一个窗口,我想在子窗口中按下按钮时调用一个函数
这是调用窗口的页面:
namespace AppWpf10
{
public partial class Prepare : System.Windows.Controls.Page
{
private void button_Click(object sender, RoutedEventArgs e)
{
Choice win2 = new Choice();
win2.Show();
}
public void DoStuff()
{
//CODE THAT DOES STUFF
}
}
}
启动的窗口:
namespace appWpf10
{
public partial class Choice : Window
{
private void button1_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
}
所以我希望在另一个窗口中按下 button1
时调用 DoStuff()
。我应该怎么做?通过在子窗口的 button1_Click
中调用 DoStuff()
?或者通过添加一个事件“button1 pressed in the other window”?
不管怎样,有人知道怎么写吗?提前致谢!
最佳答案
一种解决方案是在构造函数中将父窗口赋予子窗口,然后它可以调用其父方法:
private void button_Click(object sender, RoutedEventArgs e)
{
Choice win2 = new Choice(this);
win2.Show();
}
public partial class Choice : Window
{
Prepare parent;
public Choice(Prepare parent)
{
this.parent = parent;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
parent.DoStuff();
this.Close();
}
}
关于c# - 在不同窗口中单击按钮时调用函数(WPF 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32091021/