投射到活动窗口

时间:2018-03-10 12:47:03

标签: c# wpf

我正在尝试在wpf应用程序上转换为活动窗口,但它说我错过了一个演员。任何人都可以向我展示我的方式错误吗?

      error CS0266: Cannot implicitly convert type 'System.Collections.Generic.IEnumberable<Callisto.CallistoWindow> to Callisto.CallistoWindow'. An explicit conversion exists (are you missing a cast?)

     //Code
     CallistoWindow callistoWindow = Application.Current.Windows.OfType<CallistoWindow>();

感谢您一如既往的帮助。

1 个答案:

答案 0 :(得分:2)

Application.Current.Windows.OfType<CallistoWindow>()返回一组窗口。由于您只需要一个窗口,因此您有多个选项:

  • 使用First()方法
  • 获取集合中的第一个窗口
  • 使用Single()方法
  • 获取某个谓词所需的窗口

示例:

CallistoWindow window1 = Application.Current.Windows.OfType<CallistoWindow>().First();
CallistoWindow window2 = Application.Current.Windows.OfType<CallistoWindow>().Single(w => w.Name == "MainWindow");

您也可以使用Application.Current.MainWindow来获取主窗口。