【wpf】在win10系统上弹出toast和notification

老规矩,先看效果右下角的notification: 操作中心的notification: 整体效果: 前提条件1.需要在开始菜单里添加快捷方式。2.在注册表里注册你实现了INotificationActivationCallBack接口的com组件。3.一个APP_ID,添加到快捷方式里,ActionCenter会以此来区分不同应用的消息。缺一不可,不然弹出的notification没法交互。...
阅读(1440) 评论(2)

【WPF】DPI对控件定位产生的影响

需求程序界面上是一个Window,当用户点击桌面上除此Window之外的任何地方,都要把这个window隐藏掉。程序有个托盘图标,点击托盘图标不能隐藏window,托盘上有个右键菜单,点击右键菜单也不能隐藏。分析1.系统像素与显示器像素我们知道wpf中控件宽高的单位是1/96英寸,如果你系统的dpi为96(再这里我们不考虑显示器的dpi,那是windows系统的事情),那么1/96英寸就是1个系统像...
阅读(292) 评论(0)

【WPF】SnapsToDevicePixels与UseLayoutRounding二者到底有什么区别?供参考

MSDN上解释了一大堆,二者对比来看,并不能发现什么明显的区别,微软爸爸也不知道多给写图文实例。经过几个小时的摸索,现得到以下共同点和不同点,仅供参考:共同点 默认值都是false,如果设置到root元素上,则child元素也自动使用同样设置。 都是为了解决wpf元素边缘模糊的问题(如下)。 wpf界面元素呈现时为了看起来更平滑一点,是有抗锯齿效果的,抗锯齿效果就会导致边缘模糊。举个例子来说,边缘是...
阅读(232) 评论(0)

【WPF】右下角弹出自定义通知样式(Notification)——简单教程

1.先看效果2.实现1.主界面是MainWindow上面就只摆放一个Button即可。在Button的点击事件中需要new一个弹出的NotificationWindow。代码如下: public static List _dialogs = new List(); int i = 0; private void Bu...
阅读(1082) 评论(2)

【C#】wpf自定义calendar日期选择控件的样式

首先上图看下样式 原理 总览 ItemsControl内容的生成 实现 界面的实现 后台ViewModel的实现首先上图,看下样式 原理1. 总览:Calendar本质上是一个6x7的列表,这个列表可以用ItesControl来实现。其填充的每一个item都是一个自定义样式的Button,Button外面是一个圆形的border。根据Button按钮的IsEnabled状态,设置foregroun...
阅读(1328) 评论(5)

【C#】wpf添加gif动图支持

1.nuget里下载WpfAnimatedGif包,然后安装。 2.添加WpfAnimatedGif包的命名空间:xmlns:gif="http://wpfanimatedgif.codeplex.com" 3.开始使用: 这段代码只是个示例,主要的就是把AnimatedSource设置为你的gif动画即可。 总的代码: <Page x:Class="Omni.To...
阅读(950) 评论(4)

[置顶] 【WPF】wpf笔记本

1.对于ListView、ListBox等这些派生自ItemsControl的类,它们的子item的button之类的控件如何绑定到父page或者父window的ViewModel上? 2.ListBox中的Item当被遮挡了一部分时,点击此item后会先把位置往上移,再次点击才执行相应操作,会让用户误以为一次点击没有效果,需要点击两次。...
阅读(308) 评论(0)

【C#】wpf中的xmlns命名空间为什么是一个网址,代表了什么意思

新建一个wpf的项目,我们先来看下它默认的命名空间都是哪些? 可以看到xmlns有的是网址,有的是clr-namespace开头的一串字母。clr开头的比较好理解,就是运行时的命名空间,就像C#代码中的using xxxx之类的一样。 但是对于网址开头的命名空间有可能就有点疑惑了,它究竟代表的是什么?xaml文件被解析的时候会访问这个网址吗?如果这个网址那天不能get了,那我们的程序是...
阅读(1276) 评论(1)

【C#】wpf用MultiBinding解决Converter需要动态传参的问题,以Button为例

用Binding并通过Converter转换的时候,可能偶尔会遇到传参的问题,一般通过设置xaml中的BindingParameter属性来给Converter传递参数。但是这个BindingParameter只支持已经定义好的资源类型(Resource),不支持int,Object等类型,在BindingParameter中也无法再次通过Binding的方法动态赋值。所以,折腾来折腾去还不如用M...
阅读(627) 评论(0)
    个人资料
    • 访问:159649次
    • 积分:2318
    • 等级:
    • 排名:第17736名
    • 原创:87篇
    • 转载:18篇
    • 译文:1篇
    • 评论:30条
    文章分类
    最新评论