好吧,假设我有两个窗口.在第一个我有一个方法
public void Test()
{
Label.Content += " works";
}
Run Code Online (Sandbox Code Playgroud)
在第二个我称之为这个方法:
MainWindow mw = new MainWindow();
mw.Test();
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.我究竟做错了什么?谢谢.
Mar*_*all 13
您可以将所有者分配给在MainWindow中创建的窗口.
window.Owner = this; //This is added to the code that use to create your Window
Run Code Online (Sandbox Code Playgroud)
然后你应该能够访问它这样的东西.
((MainWindow)this.Owner).Test();
Run Code Online (Sandbox Code Playgroud)
主窗口
public partial class MainWindow : Window
{
Window1 window = new Window1();
public MainWindow()
{
InitializeComponent();
window.Show();
}
public void Test()
{
label1.Content += " works";
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
window.Owner = this;
}
}
Run Code Online (Sandbox Code Playgroud)
第二个窗口
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
((MainWindow)this.Owner).Test();
}
}
Run Code Online (Sandbox Code Playgroud)