摘要: 在 UWP 开发中,我们在进行数据绑定时,除了可以使用传统的绑定 Binding,也可以使用全新的 x:Bind,由于后者是在程序编译时进行初始化操作(不同于 Binding,它是在运行时创建、初始化),所以我们可以称 x:Bind 为编译型绑定,正像本文标题一样。之所以引入 x:Bind,是因为它 阅读全文
posted @ 2017-04-06 18:54 WPInfo 阅读(2797) 评论(2) 推荐(7) 编辑
摘要: 本文将讨论在WPF中一种较为方便的本地化方法。 由于在项目中要实现本地化,所以我在网上查找相关的解决方案。通过一系列调研,发现实现本地化的方法主要有以下三种: 其中第一种是官方介绍的方法,考虑到实现步骤略为复杂,所以直接忽略; 第二种方式的实现,主要是在程序中添加 Resource Dictiona 阅读全文
posted @ 2017-03-23 17:08 WPInfo 阅读(6700) 评论(4) 推荐(9) 编辑
摘要: 在之前讨论 ListView 滚动相关需求的文章中(UWP: ListView 中与滚动有关的两个需求的实现)曾经提到了获取元素相对位置的方法,即某元素相对另一元素的位置。现将所有相关方法再作整理,并且包括 UWP 与 WPF 两者的实现,如下: WPF(两种方式): UWP: 这里需要注意的一点时 阅读全文
posted @ 2017-03-20 15:28 WPInfo 阅读(1446) 评论(0) 推荐(2) 编辑
摘要: ListView 控件最常用的事件是 SelectionChanged;如果采用 MVVM 模式来设计 WPF 应用,通常,我们可以使用行为(如 InvokeCommandAction)并结合命令来实现对该事件的响应;如果我们要实现对 ListViewItem 双击事件的响应——也就是说,双击 Li 阅读全文
posted @ 2017-03-17 14:53 WPInfo 阅读(6837) 评论(1) 推荐(6) 编辑
摘要: Windows 1607 版本(内部版本 14393)之后,微软在 SDK 添加了一些与应用商店相关的新接口,像应用试用与购买、应用内购等。这些接口相对于原来的接口要方便很多。就拿应用内购来说,以前的方式是:开发时,为了方便测试,在项目中添加一个 xml 文件,此文件描述了应用内的产品信息,然后使用 阅读全文
posted @ 2017-02-27 12:37 WPInfo 阅读(1803) 评论(0) 推荐(8) 编辑
摘要: 在 App 的开发过程中,ListView 控件是比较常用的控件之一。掌握它的用法,能帮助我们在一定程度上提高开发效率。本文将会介绍 ListView 的一种用法——获取并设置 ListView 的滚动位置,以及获取滚动位置处的项目。这里多说一句,由于这个描述有点,所以本文的标题实在不好起。 举个例 阅读全文
posted @ 2017-02-24 11:42 WPInfo 阅读(2331) 评论(3) 推荐(4) 编辑
摘要: 在 XAML 代码中,我们偶尔会看到 AutomationProperies 的代码,如 AutomationProperties.Name="xxxxx", AutomationProperites 作为一个类,它里面包括若干个附加属性。这些属性可以为UI自动化测试框架 (Microsoft UI 阅读全文
posted @ 2017-02-18 17:30 WPInfo 阅读(3195) 评论(0) 推荐(2) 编辑
摘要: 相信每一位 App 开发者,在开发过程中,都会有一些代码被反复用到,比如:复制文本,打电话,发短信,发邮件,给应用添加评论等等。在项目之间复制这些代码段,实在不是一个好办法,所以大家可能会把这些代码放到一个类似 Utility 类中,或者一个库(Class Library)中,再加以调用。本文也是帮 阅读全文
posted @ 2015-12-16 11:12 WPInfo 阅读(1332) 评论(3) 推荐(7) 编辑
摘要: WPF 中的 Expander 控件在 Windows 10 SDK 中并不提供,本文主要说明,如何在 UWP 中创建这样一个控件。其效果如下图: 首先,分析该控件需要的一些特性,它应该至少包括如下三个属性: Content: 最重要的属性,设置该属性,可以使 Expander 控件显示其内容; H 阅读全文
posted @ 2015-11-30 18:05 WPInfo 阅读(1529) 评论(4) 推荐(4) 编辑
摘要: 本文将说明如何创建一个带全选复选框的列表控件。其效果如下图: 这个控件是由一个复选框(CheckBox)与一个 ListView 组合而成。它的操作逻辑: 当选中“全选”时,列表中所有的项目都会被选中;反之,取消选中“全选”时,所有项都会被取消勾选。 在列表中选中部分数据项目时,“全选”框会呈现不确 阅读全文
posted @ 2015-09-23 17:01 WPInfo 阅读(13406) 评论(5) 推荐(4) 编辑
摘要: 背景:在模块的UI中包含 TreeView 控件,在该树形控件的每一节点前面定义了一个复选框,如图需求:在两个不同的应用程序中使用该控件,而它在不同应用程序中的外观则并不一致,按照本例,即一个显示复选框,一个不显示。问题: 解决该问题的一个难处在于,Prism框架本身的设计原则——此 View 会被... 阅读全文
posted @ 2015-07-13 14:35 WPInfo 阅读(2168) 评论(2) 推荐(2) 编辑
摘要: 以下会提到三个绑定的技巧,分别是 在 ListView 中为 ListViewItem 的 MenuFlyout 绑定 Command; 在 ListView 的 事件中绑定所选择项目,即其 SelectedItem属性; 处理文本控件与数值属性绑定中默认值0的问题; 一、在 ListView 中为 阅读全文
posted @ 2015-06-25 10:07 WPInfo 阅读(1170) 评论(2) 推荐(2) 编辑
摘要: 之前我们已经了解过,如何从指定的目录中来加载 Module(原文),现在我们来看,如何从应用程序的配置文件中来加载 Module。以这种方式来加载 Module 的优点包括:1. 被加载的 Module 不需要被引用到主程序中;2. 配置文件可以根据实际情况修改,而不需要重新编译程序。 大概需要以下 阅读全文
posted @ 2015-06-16 10:25 WPInfo 阅读(1574) 评论(0) 推荐(1) 编辑
摘要: 在 Prism 中,将外部模块加载到主程序有以下几种方式:Code、XAML、配置文件、指定模块目录;其中,如果要使用 Code 方式来加载 Module,则需要将该 Module 引用到当前项目中;而后面两种通过 XAML与配置文件,在原理上大体一致;本文主要讨论第四种方法,即通过指定 Modul 阅读全文
posted @ 2015-06-12 15:09 WPInfo 阅读(2396) 评论(0) 推荐(1) 编辑