这是一个WPF/C#应用程序,与代码问题相比,我有更多的设计问题。在没有触发Window_Closed事件的情况下关闭窗口
我有5个独立的* .xaml文件实现从窗口派生的类。所以,5个窗口。这是一种向导类型的应用程序,因此每个窗口都有后退/下一个按钮,这些按钮将创建一个新窗口,隐藏自身并显示新窗口。
这不是纯粹基于引导的(所以我没有使用的页面),因为有时我想跳过一个窗口,或者回到第一个窗口,等
每次打开一个新的窗口时间父窗口将自己设置为新窗口的所有者并隐藏自身。当使用后退按钮时,新窗口显示所有者并自行关闭。这适用于导航。
当有人真正关闭窗口而不是使用导航时,我遇到问题。如果他们关闭窗口,Alt-F4,击中X等,它应该关闭整个应用程序。
我的'返回'按钮也关闭窗口,该窗口触发Window_Closed,关闭整个应用程序。
我想要一个关闭整个应用程序的方式,当用户关闭窗口,但只关闭窗口(不隐藏它,实际处置它),并显示所有者时,他们点击回来。如果不触发前者,我似乎无法做到后者。
有什么建议吗?我只是没有想到这是正确的方式。
我看着使用导航,实际上观看了特定的视频。这真的不是我想要的。这具有更多的网页导航功能,并可让您在页面之间跳转。在每种情况下,我都有非常明确的“后退”和“下一个”的规则 - 他们可能跳过页面或根据上下文运行代码。 我也在我的5个窗口中使用usercontrols,他们本质上是1个或更多的用户控件,所以这可能值得研究。我不得不将逻辑放回控制台,然后放到窗口中,但这可能是值得的 – Eric
@ user783106 - 是的,您需要将后/下一个弹出到主窗口中,然后移出您的托管控制。当他们点击返回/下一步时,您可以使用任何规则选择下一个用户控件。如果您不想使用导航,请自行切换可见性。 –
但只是一个侧面说明,你可以使用导航规则。有一个名为NavigateTo的方法(“页面的字符串名称”)。当他们点击一个按钮时,在代码隐藏中,您将运行任何需要确定下一页的逻辑。当您准备好显示它时,只需调用NavigateTo()传递下一页的名称(如果需要,可以是完全动态的)。 –