Вы можете назначить Владелец окну, которое было создано в вашем MainWindow.
window.Owner = this; //This is added to the code that use to create your Window
Тогда вы должны иметь доступ к нему примерно так.
((MainWindow)this.Owner).Test();
MainWindow
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;
}
}
Второе окно
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
((MainWindow)this.Owner).Test();
}
}
Ну, я предположим, что ваш MainWindow уже открыт, что ваш код делает это создать еще один MainWindow и попытаться выполните метод, не показывая его. Как создается второе окно? он создается в окне MainWindow? –
Да, это так. Итак, есть ли способ сделать это? –