【问题标题】:Close the active window by their name from the view model in c#?从 C# 中的视图模型中按名称关闭活动窗口?
【发布时间】:2020-01-22 14:04:44
【问题描述】:

如果一次打开多个窗口,如何从视图模型中关闭特定窗口?

或者

如何在 c# 中从.view 模型中获取所有活动窗口并关闭特定窗口?

【问题讨论】:

  • 假设我们谈论的是你自己的应用程序的窗口,你有你创建的窗口的记录,不是吗?所以只要看看那里并关闭它。还是我们在谈论其他应用程序的任意窗口?

标签: c# wpf mvvm data-binding


【解决方案1】:

您可以获得所有打开的窗口,例如:

foreach (var Window in App.Current.Windows)
  if (Window.GetType().Name.Equals("Recorder"))
      ((Window)Window).Close();

【讨论】:

  • 在foreach循环中什么是App?
  • @SarthakAgarwal 这是一个内置变量,代表您当前的应用程序
  • 使用上述代码后,我无法再次打开此记录器窗口。有什么办法再打开?
【解决方案2】:

是的,我们正在讨论我的应用程序的窗口。一次如果超过 一个窗口处于活动状态,我想关闭名称为 (x: name="Recorder") 的窗口。

【讨论】:

  • 有关问题的任何更新,请编辑并更新问题。
  • 上述解决方案运行良好。感谢大家的回复。
猜你喜欢
  • 2012-11-17
  • 2018-06-12
  • 2013-10-09
  • 1970-01-01
  • 2012-03-04
  • 1970-01-01
  • 2012-06-18
  • 2015-05-13
  • 1970-01-01
相关资源
最近更新 更多