0

TreeViewItem节点添加图标后再加header

1.需要实现的效果如图 2.解决方案 1).给TreeViewItem中添加children,children为包含一个stackpanel,在stackpanel中包含Image和TextBlock两个控件。 ...

&木子 发布于 2019-06-27 11:32 评论(0)阅读(4)
2

[WPF自定义控件库]使用TextBlockHighlightSource强化高亮的功能,以及使用TypeConverter简化调用

1. 强化高亮的功能 "上一篇文章" 介绍了使用附加属性实现TextBlock的高亮功能,但也留下了问题:不能定义高亮(或者低亮)的颜色。为了解决这个问题,我创建了 这个类,比单纯的字符串存储更多的信息,这个类的定义如下: 相应地,附加属性的类型也改变为这个类,并且属性值改变事件改成这样: 的关键代 ...

dino.c 发布于 2019-06-26 08:59 评论(0)阅读(193)
4

[WPF自定义控件库]排序、筛选以及高亮

1. 如何让列表的内容更容易查找 假设有这么一个列表(数据源在本地),由于内容太多,要查找到其中某个想要的数据会比较困难。要优化这个列表,无非就是排序、筛选和高亮。 改造过的结果如上。 2. 排序 在WPF中要实现数据排序的功能有很多种,例如用Linq,但这种场景的标准做法是使用 "Collecti ...

dino.c 发布于 2019-06-24 09:13 评论(5)阅读(360)
0

创建WPF项目

参考: https://www.cnblogs.com/yhcao/p/6237611.html https://mahapps.com/guides/reporting-issues.html https://mahapps.com/guides/icons-and-resources.html ...

ParamousGIS 发布于 2019-06-13 14:45 评论(0)阅读(154)
2

[WPF自定义控件库]使用WindowChrome自定义RibbonWindow

1. 为什么要自定义RibbonWindow 自定义Window有可能是设计或功能上的要求,可以是非必要的,而自定义RibbonWindow则不一样: 如果程序使用了自定义样式的Window,为了统一外观需要把RibbonWindow一起修改样式。 为了解决RibbonWindow的BUG。 如上图 ...

dino.c 发布于 2019-06-13 09:15 评论(1)阅读(340)
5

[WPF自定义控件库]使用WindowChrome的问题

1. 前言 "上一篇文章" 介绍了使用WindowChrome自定义Window,实际使用下来总有各种各样的问题,这些问题大部分都不影响使用,可能正是因为不影响使用所以一直没得到修复(也有可能别人根本不觉得这些是问题)。 这篇文章我总结了一些实际遇到的问题及其解决方案。 2. WindowChrom ...

dino.c 发布于 2019-06-12 09:03 评论(3)阅读(373)
4

[WPF自定义控件]使用WindowChrome自定义Window Style

1. 为什么要自定义Window 对稍微有点规模的桌面软件来说自定义的Window几乎是标配了,一来设计师总是克制不住自己想想软件更个性化,为了UI的和谐修改Window也是必要的;二来多一行的空间可以添加很多功能,尤其是上边缘,因为被屏幕限制住鼠标的移动所以上边缘的按钮很容易选中。做桌面开发总有一 ...

dino.c 发布于 2019-06-11 09:01 评论(4)阅读(486)
0

WPF Customize DelegateCommand

public class DelCmd : ICommand { private readonly Predicate<object> _canExecute; private readonly Action<object> _execute; public event EventHandler C ...

Fred1987 发布于 2019-06-10 13:28 评论(0)阅读(48)
6

[WPF自定义控件]Window(窗体)的UI元素及行为

1. 前言 本来打算写一篇《自定义Window》的文章,但写着写着发觉内容太多,所以还是把使用WindowChrome自定义Window需要用到的部分基础知识独立出来,于是就形成了这篇文章。 无论是桌面编程还是日常使用,Window(窗体)都是最常接触的UI元素之一,既然Window这么重要那么多了 ...

dino.c 发布于 2019-06-10 09:36 评论(3)阅读(417)
1

[WPF自定义控件库]为Form和自定义Window添加FunctionBar

1. 前言 我常常看到同一个应用程序中的表单的按钮————也就是“确定”、“取消”那两个按钮————实现得千奇百怪,其实只要使用统一的Style起码就可以统一按钮的大小,而我喜欢更进一步将”确定“、”取消“或其它按钮封装进一个自定义控件里。 这篇文章介绍了另一种ItemsControl的实现方式,并 ...

dino.c 发布于 2019-06-05 09:04 评论(7)阅读(218)
0

开源矿工 - 记一个完整的软件是如何开发和运行的

开源矿工的开发耗费了我很多精力,到今天已经整出了10万行代码,但是缺乏文档和注释,不是因为刻意不添加注释,而是因为添加的注释会让人不知所云。可能大部分开发者不熟悉开源矿工的开发模式,需要先有个铺垫,后续的文字就是用来做这个铺垫的。开源矿工不是OO也不是过程,它是面向数据编程,它是系统编程。 一,从0 ...

开源矿工 发布于 2019-06-03 10:41 评论(0)阅读(270)
1

[WPF自定义控件库]让Form在加载后自动获得焦点

1. 需求 加载后让第一个输入框或者焦点是个很基本的功能,典型的如“登录”对话框。一般来说“登录”对话框加载后“用户名”应该马上获得焦点,用户只需输入用户名,点击 ,再输入密码,点击回车就完成了登录操作。 在WPF中要让一个控件在加载时获得焦点应该很简单,只需要在Loaded事件后调用 就行了。但有 ...

dino.c 发布于 2019-06-03 09:02 评论(3)阅读(299)
5

WPF自定义控件之图片控件 AsyncImage

AsyncImage 是一个封装完善,使用简便,功能齐全的WPF图片控件,比直接使用Image相对来说更加方便,但它的内部仍然使用Image承载图像,只不过在其基础上进行了一次完善成熟的封装 AsyncImage解决了以下问题1) 异步加载及等待提示2) 缓存3) 支持读取多种形式的图片路径 (Lo ...

#山鸡 发布于 2019-06-02 18:38 评论(4)阅读(254)
0

练手WPF(三)——扫雷小游戏的简易实现(下)

十四、响应鼠标点击事件 (1)设置对应坐标位置为相应的前景状态 如果当前坐标位置设置的前景状态为允许值范围,则将其赋给相应的_foreData元素,并删除原来的图形。如果设置状态为问号或小红旗,则重新设置该图形。 (2)鼠标点击空白区域时,自动打开附近连片的空白区域。使用了以下递归方法。 (3)添加 ...

sssion 发布于 2019-05-29 17:41 评论(0)阅读(160)
0

练手WPF(三)——扫雷小游戏的简易实现(上)

一、创建项目1.创建WPF项目,设置初始化窗口大小(初级难度):高x宽为430x350。2.添加文件夹Images,并添加相关图片。 3.xaml中引入图片资源。 4.添加窗口元素(1)菜单 (2)在菜单之后,</DockPanel>之前添加其他界面元素 其中两个Image用于显示时钟和地雷数图例, ...

sssion 发布于 2019-05-29 16:14 评论(0)阅读(199)
2

[WPF自定义控件库]简单的表单布局控件

1. WPF布局一个表单 在WPF中布局表单一直都很传统,例如使用上面的XAML,它通过Grid布局一个表单。这样出来的结果整整齐齐,看上去没什么问题,但当系统里有几十个表单页以后需要统一将标签改为上对齐,或者标签和控件中加一个:号等需求都会难倒开发人员。一个好的做法是使用某些控件库提供的表单控件; ...

dino.c 发布于 2019-05-29 09:17 评论(2)阅读(460)
0

WPF-CheckBox(复选框、功能开关)美化

老规矩,先放图 按钮美化背景: 由于特殊需求,复选框样式单一,所以我们需要将其按钮重构和美化达到我们的需求 复选框美化思维引导: 图中1为背景色 图中2为边框 图中3为句柄控件组成(Path+Rectangle) 图4为TextBlock控件 由此我们可以推算出该控件大致需要Border+Grid+ ...

害羞的青蛙 发布于 2019-05-28 19:26 评论(0)阅读(316)
0

练手WPF(二)——2048游戏的简易实现(上)

1、创建游戏界面编辑MainWindow.xaml,修改代码如下: (1)在Window资源区分别定义了Label和Rectangle的样式,因为接下来游戏区的4宫格中使用的主要是对Lebel控件进行显示和移动操作的。(2)另外还添加一个命名为lblAddScore的Lebel控件(其初始透明度为0 ...

sssion 发布于 2019-05-27 17:08 评论(0)阅读(225)
0

WPF-按钮美化

我们不多哔哔,先放图: 美化按钮背景: 当我们用系统默认的按钮风格似乎太老套,而且不太美观,某些情况下我们需要对按钮进行美化和重绘,只有这样才能满足我们的需要 按钮美化思维引导: 图中1 为控件Border 途中2 为ContentPresenter(也可以用TextBook) 由此可见 按钮时有  ...

害羞的青蛙 发布于 2019-05-27 16:36 评论(2)阅读(350)
3

[WPF自定义控件库]以Button为例谈谈如何模仿Aero2主题

1. 为什么选择Aero2 除了以外观为卖点的控件库,WPF的控件库都默认使用“素颜”的外观,然后再提供一些主题包。这样做的最大好处是可以和原生控件或其它控件库兼容,而且对于大部分人来说模仿原生的主题也比自己设计一套好看的UI容易得多。 WPF有以下几种原生 "主题" : |主题文件|桌面主题| | ...

dino.c 发布于 2019-05-27 09:03 评论(2)阅读(461)