您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 使用WPF创建Windows应用和Web应用
使用WPF创建Windows应用和Web应用课程内容概述课程讲解如何使用WPF的数据管理、托管和UI来创建丰富的客户应用,演示Windows应用及基于浏览器应用如何使用这些服务。讨论应用使用标准窗体和基于浏览器各自的优势及适用场景。课程内容安排WPF介绍应用的生命周期管理用户体验模型HostingWPF介绍WPF架构PropertyEngineInput/EventingSystem.NETFramework2.0DesktopWindowsManagerMediaIntegrationLayerDirectXWindowsVistaDisplayDriver(LDDM)WindowsMediaFoundationCompositionEnginePrintSpoolerManagedUnmanagedApplicationServicesDeploymentServicesDatabindingUSERINTERFACESERVICESXAMLAccessibilityPropertySystemInput&EventingBASESERVICESDOCUMENTSERVICESPackagingServicesXPSDocumentsAnimation2D3DAudioImagingTextVideoEffectsCompositionEngineMEDIAINTEGRATIONLAYERControlsLayoutWindowsPresentationFoundationXPSViewer设计与开发设计人员设计UI使用XAML,设计人员与开发人员可以更好地协作。开发员添加业务功能使用XAMLXAML=ExtensibleApplicationMarkupLanguage•易于使用,声明标记•代码与内容分离•可用于Web应用和windows应用。ButtonWidth=100OKButton.BackgroundLightBlue/Button.Background/ButtonXAMLButtonb1=newButton();b1.Content=OK;b1.Background=newSolidColorBrush(Colors.LightBlue);b1.Width=100;C#Dimb1AsNewButtonb1.Content=OKb1.Background=New_SolidColorBrush(Colors.LightBlue)b1.Width=100VB.NETHelloWFP应用的生命周期管理ApplicationsinWPF应用级的考虑如何管理应用生命周期的活动如何管理多次会话中的状态用户如何与应用进行交互平台是否能构建一个用户体验模型应用是基于windows还是基于浏览器的基于windows应用和浏览器应用在用户体验上的不同他们安全吗?应用的生命周期如何管理应用生命周期的活动Application类管理所有的应用生命周期中的活动Startup,activation,deactivation,shutdown,sessionending,errorhandling为进程提供一个托管的抽象层可以忽视主方法、退出代码、以及WM_*消息支持定制用于保持应用的状态usingSystem;usingSystem.Windows;namespaceMyFirstApp{staticclassProgram{[STAThread]staticvoidMain(){MyAppapp=newMyApp();app.Run();}}classMyApp:Application{MyApp(){Windowwin=newWindow();win.Show();}}}//application.xamlApplicationx:Class=“MyFirstApp.MyAppxmlns:x==“///application.xaml.csnamespaceMyFirstApp{partialclassMyApp:Application{publicMyApp(){InitializeComponent();Windowwin=newWindow();win.Show();}}}//application.xamlApplicationx:Class=“MyFirstApp.MyAppxmlns:x==“ShutdownMode=“OnLastWindowClosed”Startup=“StartupHandler”SessionEnding=“SessionEndingHandler”StartupUri=“window1.xaml”/管理多次会话中的状态如何保存设置与用户数据?文件系统Fully-trustedapplicationsonly注册表Fully-trustedapplicationsonlyGenerallynotrecommended配置管理器Machine,user,orapp-widestate隔离存储Fullorpartially-trustedapplications512KBlimitinInternetZoneCookiesInteropwithwebbackend用户体验模型用户体验模型用户如何与应用进行交互?MDISDI/DialogNavigation-basedSDIStructuredNavigationNavigation-basedMDI用户体验模型如何选择UI?用户控件程度使用频率专业用户会得心应手。便于初学者学习使用。初学者会不知所措,迷失方向。专业用户会感被限制,固化。用户体验模型Dialog-BasedSDI使用窗口、对话框和控件一个进程中可能会有多个顶级窗口软件功能通过菜单展现给用户常用于简单或频繁的任务用户受到一定限制//Window1.xamlWindowx:Class=“App.Window1”...DockPanelMenu!--definemenuhere--/Menu!--controlsandUIhere--/DockPanel/Window用户体验模型BasicNavigation适用于有多个步骤的任务或没有经验的用户。通过导航和向导,用户可以使用软件功能。使用页面、超链接、框架可以在浏览器用使用。提供导航功能//Page1.xamlPagex:Class=“App.Page1”...TextBlockHyperlinkNavigateUri=“page2.xaml”GoToPage2/Hyperlink/TextBlock/Page//Page2.xamlPagex:Class=“App.Page2”...TextBlockThisisPage2/TextBlock/PageHyperlink==GOTO=hello&back=homepage.aspx用户体验模型ProblemswithsimplenavigationPageFunctions==functioncalls用户体验模型Solvingtheproblemsusingstructurednavigation用户体验模型StructuredNavigation适用于复杂的,多变的导航要求应用驱动用户使用PageFunctionPageFunction可以象函数一样被调用,并返回结果给调用者一旦调用结束,会返回到调用页面可以创建灵活的页面关系。//PF1.xamlPageFunctionx:Class=“App.PF1”xmlns:sys=“clr-namespace:System;assembly=“mscorlib”x:TypeArguments=“Int32”...Grid.../Grid/PageFunction//Page1.xaml.csPF1pf=newPageFunction1();pf.InitializeComponent();pf.Return+=newReturnEventHandlerint(pf_Return);this.NavigationService.Navigate(pf);HostingHosting基于Windows,还是基于浏览器?两种常见的WPF的hosting:StandaloneXBAPHosting在浏览器中不仅是技术问题,还是一个用户体验问题。Hosting与部署方式相关。StandaloneWPFApplications需安装在开始菜单及添加/移除程序中可见可以使用ClickOnce或MSI进行部署在单独的窗体中运行可以在线和离线工作在线时可以检查是否有更新完全信认安装是有是否信认的提示WPFInWindowsWeb应用的挑战Web应用在编程模式上有很大的不同创建高交互性和高个性化的Web应用有一定的难度Web应用往往需要平衡交互性和安全。XAMLBrowserApplications(XBAPs)在Web中使用WPF不需要安装在开始菜单及添加/移除程序中不可见可以使用ClickOnce进行部署在浏览器中运行类似页面浏览在线工作需要访问原部署的URL总是最新的。在安全沙箱中运行没有安全与安装的提示XAMLBrowserApplications安全沙箱基于浏览器应用运行在沙箱中FullTrust(StandaloneApps)SecondaryWindows,FileSystemAccess,WCF,RegistryAccess…InternetZone(XBAP)IsolatedStorage,SiteofOriginAccess,Printing,3D,Flow,Animation…代码访问安全性(CAS)基于许可沙箱应用会根据其部署源受于一定限制应用被赋于一定的权限集超出许可的动作会引了安全异常XAMLBrowserApplications深度防御功能代码访问安全–第一道防线安全透明/安全鉴定在Vista中IE的权限是很低的。在其它平台上,移除了IE6的管理员凭证与浏览器进程隔离边界高度隔离可信赖计算的最佳实践威胁建模、代码复查、静态分析等WPFInBrowser回顾WPF介绍应用提供了应用生命周期管理的功能用户体验模型至关重要。可以使用内建的模型或定制新的模型根据功能需求与用户体验来选择使用XBAP应用还是Windows应用延续了浏览器的体验,而且不用安装。Window应用可以得到更高的信认并可离线工作,但需要安装。WPF@WindowsVistaDeveloperCenter://填反馈表
本文标题:使用WPF创建Windows应用和Web应用
链接地址:https://www.777doc.com/doc-319844 .html