我有与提到的完全相同的样本 here . 快速结束:当最后一个子窗口关闭时,主窗口关闭。
我的问题:我无法使用所描述的解决方案解决我的问题。我不能在它发生的地方制作一个程序。仅在我较大的前卫之一中。也许有人有想法或知道任何进一步的步骤。
感谢阅读 - 托马斯
根据要求,这里有一些代码: 这是主窗口中的部分:
bool editAfterSearch = false;
Movie selectedMovie = (Movie)this.listView.SelectedItem;
Movie backup = (Movie)selectedMovie.Clone();
if (new OnlineSearchWindow().EditMovieViaOnlineSearch(ref selectedMovie, out editAfterSearch))
{
this.coverFlow.Update(selectedMovie);
}
这就是 ChildWindow 的一部分:
public bool EditMovieViaOnlineSearch(ref Movie preset, out bool editAfter)
{
this.exitWithOk = false;
this.editMovieAfterSearch = false;
this.tbx_SearchTerm.Text = preset.Title;
this.linkedMovie = preset;
this.ShowDialog();
editAfter = editMovieAfterSearch;
if (this.exitWithOk)
{
this.linkedMovie.CloneOnlineInformation(ref preset);
preset.Bitmap = this.linkedMovie.Bitmap;
return true;
}
else
{
return false;
}
}
最佳答案
尝试使用 App.xaml.cs
的 ShutDownMode
属性。 3个值分别为OnMainWindowClose
、OnLastWindowClose
、OnExplicitShutdown
,默认为OnLastWindowClose
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
this.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose;
}
}
关于WPF关闭子关闭父窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7661315/