【发布时间】:2017-04-19 10:23:11
【问题描述】:
假设我们有一个应用程序的主窗口,我们想要第二个窗口或用户控件(最适合的)作为设置窗口。我们如何使用 mvvmLight 方法打开和关闭这个窗口?
这是我目前用于打开一个新窗口的代码。
var settingWindow = new SettingsViewWindow();
settingWindow.Show();
这是我目前用于关闭窗口的代码。
This.Close();
我不太了解 userControle 控件以及何时使用它。如果你知道一个 youtube 视频或一个网站,我可以阅读它,它会被 appritacted。或者干脆放弃解释。
以下是我构建 MenuItem 点击事件的方式。就目前而言,这就是我喜欢为我的事件处理程序敲击一般按钮的方式,并将它们放在一个描述性的 regrion 中。 如果我知道如何将这个底部放在 spolier 中。 ;)
private void btnNav_Click(object sender, RoutedEventArgs
{
if(sender == btnNavSettings)
{
OpenSettingsWindow();
}
else if(sender == btnNavExitApp)
{
ShutDownApplication();
}
}
/// <summary>
/// Opens a settings window.
/// Only on settings window can be open at time.
/// </summary>
private void OpenSettingsWindow()
{
if(GlobalVariabels.GUI_Variabels.SettingsWindowIsOpen != true)
{
var settingWindow = new SettingsViewWindow();
settingWindow.Show();
}
}
/// <summary>
/// Exit the application properly.
/// </summary>
private void ShutDownApplication()
{
Application.Current.Shutdown(0);
}
【问题讨论】:
-
您当前所做的事情违反了很多 MVVM 原则。当我可以访问计算机时,我会添加一个解释性答案。
标签: c# wpf windows user-controls mvvm-light