C# 如何从主窗口调用SecondWIndow中声明的公共函数
我的WPF应用程序中有两个窗口。我正在使用如下所示的后台线程从MainWindow运行SecondWindowC# 如何从主窗口调用SecondWIndow中声明的公共函数,c#,wpf,methods,C#,Wpf,Methods,我的WPF应用程序中有两个窗口。我正在使用如下所示的后台线程从MainWindow运行SecondWindow Thread newWindowThread = new Thread(new ThreadStart(() => { SecondWindow sw = new SecondWindow(this); sw.Show(); Dispatcher.Run(); })); newWindowThread.SetApartmentState(Apartment
Thread newWindowThread = new Thread(new ThreadStart(() =>
{
SecondWindow sw = new SecondWindow(this);
sw.Show();
Dispatcher.Run();
}));
newWindowThread.SetApartmentState(ApartmentState.STA);
newWindowThread.IsBackground = true;
newWindowThread.Start();
我在第二个窗口中也有这样的公共功能
public async void hide_animate()
{
//Some Stuff//
}
我想从我的主窗口中的方法调用hide_animate
我尝试了一些通过谷歌搜索找到的选项,但似乎没有任何效果。有什么帮助吗
更新:
我试着调用这个函数,但仍然没有任何结果
Window mywindow = FindMyWindow("SecondWindow");
if (mywindow != null)
{
SeocondWinodw.hide_animate();
}
private Window FindMyWindow(string windowName)
{
foreach (Window wnd in System.Windows.Application.Current.Windows)
{
if (wnd.Title.ToUpper().Equals(windowName.ToUpper()))
{
return wnd;
}
}
return null;
}
调用sw.hide_animate有什么问题?没有发生任何事情Windows不能从后台线程运行。WPFwell中只有一个GUI线程,我成功地从后台线程调用了窗口。所以这不是问题所在。我只需要从主窗口调用在第二个窗口中派生的特定函数。