Walkthrough: My first WPF desktop application This article shows you how to develop a Windows Presentation Foundation (WPF) desktop application that includes the elements that are common to most WPF applications: Extensible Application Markup Languag…
本节主要介绍一下Application类的部分功能,我们首先来看一下如何使用Application类来加载一个窗口: 我们首先创建一个控制台程序,并引入相关的dll,然后修改Main()方法. [STAThread] private static void Main() { var app = new Application(); var win = new Window1(); app.Run(win); //另一种方法创建一个主窗口并显示 //var app = new Applicatio…
WPF:Application简介 Application是一个地址空间,在WPF中应用程序就是在System.Windows命名空间下的一个Application实例.一个应用程序只能对应一个Application的实例,而Application的生命周期自然是从运用程序启动到终止的周期. 与winform类似,WPF需要一个ApplicationL来全局的行为和操作,并且每个DOmain中只能有一个Application实例,和winform不同WPF默认有2部分组成:App.xaml和Ap…
老外参考文章1 老外参考文章2 I created a WPF browser application MyApp then published it by ClickOnce in VS2008. Published folder like this: PublishedFolder\MyApp.xbap PublishedFolder\setup.exe PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.xbap Published…
最近开始写一些WPF的小Sample和文章,但是毕竟WPF应用程式不像Silverlight那么方便的只要装个Plugin就可以透过浏览器来看执行结果,因此把脑筋动到了改用WPF Browser Application上,虽然它是WPF,但是一样可以透过浏览器来执行,这样就可以一边看文章一边看范例. 首先,来看看IE9的设定方式: 在IE9预设的设定下,是没办法正常浏览XBAP的,得要更改一下设定才行,还没更改设定之前看到的画面可能会像下图: 还好要开始这个功能非常的简单,只要点选IE9功能表的…
原文:WPF 的 Application.Current.Dispatcher 中,为什么 Current 可能为 null 在 WPF 程序中,可能会存在 Application.Current.Dispatcher.Xxx 这样的代码让一部分逻辑回到主 UI 线程.因为发现在调用这句代码的时候出现了 NullReferenceException,于是就有三位小伙伴告诉我说 Current 和 Dispatcher 属性都可能为 null. 然而实际上这里只可能 Current 为 null…
原文:WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null 在 WPF 程序中,可能会存在 Application.Current.Dispatcher.Xxx 这样的代码让一部分逻辑回到主 UI 线程.因为发现在调用这句代码的时候出现了 NullReferenceException,于是就有三位小伙伴告诉我说 Current 和 Dispatcher 属性都可能为 null. 然而实际上这里只可能 Current 为 nu…
一.Application介绍 WPF中的Application对象用来进行一些全局的行为和操作,并且每个 Domain (应用程序域)中仅且只有一个 Application 实例存在.WPF Application默认由两部分组成 : App.xaml 和 App.xaml.cs,这有点类似于 Asp.Net WebForm,将定义和行为代码相分离. 微软把WPF中经常使用的功能都封装在 Application 类中了. Application 类具体有以下功能: 跟踪应用程序的生存期并与之交…
1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存在.和 WinForm 不同的是 WPF Application 默认由两部分组成 : App.xaml 和 App.xaml.cs,将定义和行为代码相分离.当然,这个和WebForm 也比较类似.XAML 从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL(Domain Spe…
wpf应用程序在启动的时候会自动创建Main函数并调用Application实例的run(),从而启动Application进程.Main函数在一个App.g.cs文件中,App.g.cs文件的位置在\obj\x86\Debug\App.g.cs.自动生成的Main函数如下: /// <summary> /// Application Entry Point. /// </summary> [System.STAThreadAttribute()] [System.Diagnost…
Application.ShutdownMode属性:通过,只要有一个窗口还没有关闭,Application类就保持应用程序处于有效状态,如果这不是所期望的行为,就可以调整该属性. 应用程序事件 Application提供了为数不多的几个非常有用的事件,如下图所示: 有两种选择用于处理事件:在XAML中使用事件特性的方式关联事件处理程序,或重写相应的受保护方法,当重写应用程序方法时,推荐首先调用基类的实现,通常,基类的实现只是引发相应的应用程序事件. 初始界面(SplashScreen) WPF…
WPF程序对应一个Application对象,当前的Application对象可以通过Application.Current获取,通过获取到的Application对象,我们可以做以下的事情: Application.Current.FindResource("资源名");//获取程序中定义的资源 Application.Current.MainWindow;//获取程序中定义的主窗体 Application.Current.Properties["MyProperty&qu…
1.如何关闭wpf程序.应用程序的关闭只有调用其shutdown方法才可以.shutdown有三种属性.OnLastWindowClose,OnMainWindowClose,OnExplicitShutdown 1)通过在App.xaml中直接设置.shutdown=“OnExplicitShutdown”: 2)第二种方式:删除App.xaml文件,自己创建一个App.cs类,在main方法中: (建立Application对象,建立win窗体对象略) app.shutdown=shutdo…
1.WPF和 传统的WinForm 类似, WPF 同样需要一个 Application 来统领一些全局的行为和操作,并且每个 Domain (应用程序域)中只能有一个 Application 实例存在.和 WinForm 不同的是 WPF Application 默认由两部分组成 : App.xaml 和 App.xaml.cs,将定义和行为代码相分离.当然,这个和WebForm 也比较类似.XAML 从严格意义上说并不是一个纯粹的 XML 格式文件,它更像是一种 DSL(Domain Spe…
由图可见,XBAP与WPF的区别是“受限的”:Silverlight与XBAP的区别是,不需要.NET Framework. 上星期與以前的同事爭論著究竟使用XBAP來開發XX用戶端 (為筆者之前開發過的某家用戶端,以前採用.NET 1.1的Windows Form應用程式),還是使用Silverlight 來開發,XBAP是(XAML Browser Application) 的簡稱,中文名稱稱為 [瀏覽器應用程式] ,它其實也是一種先前微軟所提出的 WPF巡覽應用程式 的一種,只是它以瀏覽器…
https://social.msdn.microsoft.com/Forums/windows/en-US/40b4f86d-b6d5-430e-a235-7fc003dec4c4/how-to-use-windowsdevicesgeolocation-api-in-a-c-winform-win32-desktop-application-in-windows-10?forum=winforms 还是发现许多问题!!! https://blogs.windows.com/buildinga…
先简单的介绍一下Prism框架,引用微软官方的解释: Prism provides guidance to help you more easily design and build, flexible, and easy-to-maintain client business apps that run on Windows Runtime, Windows Presentation Foundation (WPF) desktop, Silverlight, or Windows Phone…
DotNetCore Is AnyWhere. 前言 Visual Studio 2019 已经正式发布了,DotNetCore 3.0 的正式版也指日可待.在之前的版本中,作为一名基于微软生态的传统 WPF 程序员看着隔壁同学在开发 DotNetCore 网站时用着各种特性好生羡慕,想着巨硬啥时候能让客户端开发者也能尝尝甜头. 那么,现在是时候可以尝试一下了. 需要说明的一点的是,DotNetCore 3.0 虽然跨平台,但是基于此的 WPF 却是针对 Windows 特定平台的实现,并不能跨…
.NET Core 3 and Support for Windows Desktop Applications Richard 微软官网的内容...net 3.0 升级任务 任重道远 https://devblogs.microsoft.com/dotnet/net-core-3-and-support-for-windows-desktop-applications/ May 7th, 2018 At Microsoft Build Live today, we are sharing a…
20 Interesting WPF Projects on CodePlex (Some for Silverlight too) Pete Brown - 22 November 2010   In no particular order, here's a selection of interesting and recently maintained WPF projects I've found on CodePlex. This is by no means a complete l…
Prism for WPF Prism for WPF初探(构建简单的模块化开发框架)   先简单的介绍一下Prism框架,引用微软官方的解释: Prism provides guidance to help you more easily design and build, flexible, and easy-to-maintain client business apps that run on Windows Runtime, Windows Presentation Foundatio…
Windows Community Toolkit 再次更新到 5.0.以前可以在 WPF 中使用有限的 UWP 控件,而现在有了 WindowsXamlHost,则可以使用更多 UWP 原生控件了. 关于 Windows Community Toolkit 早期版本的 Xaml Bridge,可以参见: WPF 使用 Edge 浏览器 - 林德熙 本文内容 安装 NuGet 包 配置 WPF 项目能访问 UWP 的类型 开始在 WPF 中使用 UWP 的控件 可以忽略的错误 最终效果 值得注意…
在 WindowsXamlHost:在 WPF 中使用 UWP 的控件(Windows Community Toolkit) 一文中,我们说到了在 WPF 中引入简单的 UWP 控件以及相关的注意事项.不过,通常更有实际价值的是更复杂的 UWP 控件的引入,通常是一整个 Page. 本文将介绍如何在 WPF 项目中引用 UWP 的控件库. 本文内容 创建一个 UWP 控件库 对 WPF 项目的准备工作 不方便的引入方式 编辑 UWP 项目文件 重新加载项目并编译 在 WPF 项目中间接引用 UW…
本文将介绍 Windows 系统中高 DPI 开发的基础知识.由于涉及到坐标转换,这种转换经常发生在计算的不知不觉中:所以无论你使用哪种 Windows 下的 UI 框架进行开发,你都需要了解这些内容,以免不断踩坑. 本文内容 各种不同的 Windows 桌面 UI 框架 对普通用户而言的 DPI 级别 对 Windows 应用而言的 DPI 感知级别(Dpi Awareness) 不同 UI 框架对 DPI 的支持情况 UWP WPF Windows Forms 其他 UI 框架 混合 DPI…
 Prism provides guidance designed to help you more easily design and build rich, flexible, and easy-to-maintain Windows Presentation Foundation (WPF) desktop applications. Using design patterns such as Model-View-ViewModel (MVVM), Composite View, and…
April 2014 2014四月   Prism provides guidance in the form of samples and documentation that help you easily design and build rich, flexible, and easily maintained Windows Presentation Foundation (WPF) desktop applications. Using design patterns that em…
原文 签署 Centennial Program Addendum,使用 Desktop Bridge 将 Win32 应用转制成 UWP 能上架 Windows 应用商店的并不一定必须是 UWP 应用程序或者 PWA 程序,也可以是普通的 Win32 应用程序.典型的上架应用商店的应用有微信.Telegram.Snipaste 等.使用 Desktop Bridge,我们即可以为我们的普通 Win32 应用程序做一个 UWP 的包来. 本文内容 商店中那些转制的应用 了解 Desktop Br…
原文:WPF 很少人知道的科技 本文介绍不那么常见的 WPF 相关的知识. 本文内容 在 C# 代码中创建 DataTemplate 多个数据源合并为一个列表显示 使用附加属性做缓存,避免内存泄漏 使用 ConditionalWeakTable 做非 WPF 版本的缓存 使用代码模拟触摸 模拟 UWP 界面 模拟 Fluent Design 特效 在 C# 代码中创建 DataTemplate 大多数时候我们只需要在 XAML 中就可以实现我们想要的各种界面效果.这使得你可能已经不知道如何在 C…
DataBinding中更新数据源的时机   TextBox .Text 属性的默认 UpdateSourceTrigger 值为 LostFocus.这意味着如果应用程序的 TextBox 包含数据绑定 TextBox.Text 属性,则直到 TextBox 失去焦点(例如,将鼠标移到TextBox 外单击时),键入到 TextBox 中的文本才能更新源.   如果希望在键入过程中更新源,请将该绑定的 UpdateSourceTrigger 设置为 PropertyChanged. 在下面的示…
很多人认为关闭应用程序应该很简单,例如WindowsForm里一个Application.Exit();方法就可以解决问题,但在WPF里面可别滥用,因为WPF里Application类没有该方法,倒是有一个Exit的事件驱动,在WPF应用程序里面关闭程序讲究很多: 在WPF应用程序的关闭是有ShutdownMode属性设置,具有3中枚举类型的值: 1)OnLastWindowClose 应用程序最后一个窗体关闭时关闭应用程序 2)OnMainWindowClose 应用程序主窗体关闭时关闭应用程…