ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Application类-多窗口交互

2019-08-09 13:57:24  阅读:215  来源: 互联网

标签:documents 窗口 App 多窗口 List 应用程序 Application 交互


我们在派生自Application类中出来放置响应应用程序事件的代码外,还可以放置一些完成其他任务的代码。

在此之前要知道:

如何获取应用程序的Application对象:

//App是一个继承自Application的类
App app= Application.Current;

比如:在多窗口之间交互时,我们为了在某个窗口中操作另一个窗口,有时会将一部分控件或字段的访问权限设置为公开。这样就增强了窗口之间的耦合性。随着窗体间交互的增强,我们将面临极大的困扰。

所以,我们可以在自定义应用程序类中保存窗口的引用,从而使一个窗口可以访问到另一个窗口:

  • 在App.xaml.cs中定义一个泛型集合
  • 当创建一个新窗口的时候,将新窗口对象加入到集合中
  • 在代码的任意地方都可以通过遍历集合来操作窗口了
private List<Window> documents = new List<Window>();
public List<Window> Docunmets
{
    get { return documents; }
    set { documents = value; }
}
public App()
{
    this.ShutdownMode = ShutdownMode.OnExplicitShutdown;
    MainWindow window = new MainWindow();
    this.documents.Add(window);
    this.StartupUri = new Uri("MainWindow.xaml",UriKind.Relative);
}

在其它窗口中使用:

//获取应用程序的Application对象
Application application = Application.Current;
List<Window> windows= ((App)Application.Current).Docunmets;
for (int i = 0; i < windows.Count; i++)
{
    MessageBox.Show("已经激活的窗口有:"+windows[i].Title);
}

标签:documents,窗口,App,多窗口,List,应用程序,Application,交互
来源: https://www.cnblogs.com/bigbosscyb/p/11326698.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有