- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 WPF处理Page页面关闭
最近在处理一个功能:在page页面加载时导入已有配置,在page页面被关闭时也要相应更新修改过的配置。初步解决方案,当然是响应此page的loaded事件和unloaded事件,如下: private void Page_Loaded(object sender, RoutedEventArgs e) { string strXmlFi
2017-06-01 18:44:52
11673
2
原创 WPF的数据绑定——修正类对象成员双向绑定的错误
昨天本人写了一篇文章《WPF的数据绑定——MVVM模式下控件与类成员及类对象成员双向绑定》,地址为:http://blog.csdn.net/mandylover/article/details/69944513,经进一步调试,发现了一个bug,即改变类对象成员的值后无法更新控件的值。验证代码是: public partial class Page1 : Page {
2017-04-11 11:39:13
917
原创 WPF的数据绑定——MVVM模式下控件与类成员及类对象成员双向绑定
最近研究WPF,遇到并解决了一些难题(至少是初学者的入门难题),包括:1)控件如何绑定数据?2)控件与数据如何双向绑定?3)控件如何绑定类成员变量?4)控件如何绑定类对象的成员变量?5)每次加载页面时,都会重新初始化,如何保持数据不变?理论上的知识,就不一一详解了。这里写个小程序,解决上述提到的问题。在创建新项目后,添加一个类TestViewMode,作为ViewMod
2017-04-10 11:48:12
2374
原创 DevExpress控件基础应用——TreeListControl(2)
在上一篇文章,已介绍了如何绑定数据到TreeListControl控件的List部分。如果没有实现TreeListControl控件的Tree功能,这个控件就没有意义了。实现Tree功能,关键是处理好各个节点的父子关系,下面就介绍如何在TreeListControl控件的Tree部分设置各个节点的父子关系。TreeListControl控件的TreeListView元素有两个属性,分别是Key
2017-04-05 19:19:26
2264
1
原创 DevExpress控件基础应用——TreeListControl(1)
最近研究了在WPF应用程序运用第三方UI套件DevExpress,对能够将Tree型控件和List控件完美结合在一起的TreeListControl很感兴趣。网上关于如何使用TreeListControl控件的资料很少,害得我花费较长时间研究实践,才略知一二。写这篇文章,主要为解决下列问题:1)如何绑定数据到TreeListControl控件的List部分?2)如何在TreeListCon
2017-04-05 17:34:41
2179
原创 WPF预览多个摄像头视频数据
需求:使用WPF开发应用程序来预览多个摄像头视频数据。设计思路:1)通过FFMPEG获取摄像头视频数据。2)通过SDL来显示视频图像。技术问题点:SDL只能在窗体显示,要么弹出新窗体,要么在程序UI相关控件(比如PictureBox控件,也可以是其他Static类控件)显示。显然,获取一个视频设备弹出一个新窗体,不符合需求。那只能把SDL显示窗体嵌入到UI控
2017-01-22 10:29:51
3135
1
原创 构建类似Office 2007框架的WPF应用程序(5)
九、Ribbon控件事件如何调用各个页面的函数问题一:调用函数和被调用函数处在不同的类Ribbon功能区的初衷就是方便用户操作每个功能,在程序设计时就需要处理Ribbon控件事件调用各个页面的函数。Ribbon控件是MainWindow的一个控件,其控件事件当然是MainWindow类的一个函数。同样,每个页面的功能由其类内函数实现。问题二:切换显示页面时并没有直接创建各个页面
2017-01-13 15:30:23
502
原创 构建类似Office 2007框架的WPF应用程序(4)
八、设计主窗口我觉得在构建软件前期必须充分考虑一个性能——可扩展性。我们不仅要应付开发初期的需求,还要顾及到未来源源不断的需求,如果你的软件难以扩展,那痛苦会伴随整个开发周期。很显然,一个窗口能摆放的功能点入口UI是有限的,我们必须将功能点分类,在不同窗口处理。这样,我们的主窗口的任务,就不是摆放各个功能点的直接入口UI,而是处理不同窗口的切换与显示。在MFC和Win Form,我
2017-01-13 14:20:30
670
原创 构建类似Office 2007框架的WPF应用程序(3)
七、StatusBar控件的处理我们先跳过主窗口的处理,先处理一下状态栏。先细枝末节,再恭迎主角。首先,添加右下角的三角标志,这是可以鼠标拖动窗口,使之放大缩小的经典标志。当然,没有的话,也可以拖拽窗口,但总觉得少了点什么,没那么直观。改变窗口大小,是窗口的一个属性,不是StatusBar的属性,设置窗口属性ResizeMode为CanResizeWithGrip即可,如下:Title
2017-01-13 09:46:42
606
原创 构建类似Office 2007框架的WPF应用程序(2)
五、设计Ribbon由于之前有用过DevExpress的UI套件,对Ribbon不算陌生。但想使用微软的亲儿子,似乎没有那么便利。先添加多个RibbonTab,并给各个RibbonTab增加一个Group和Button。代码如下:
2017-01-12 16:52:26
702
原创 构建类似Office 2007框架的WPF应用程序(1)
近一个月,学习了WPF相关知识。在这里,我利用构建一个类似Office 2007框架的WPF应用程序,来总结学习WPF的个人体验。一、需求利用WPF,构建一个程序,框架类似Office 2007.如图:二、关于Ribbon这里就不对Ribbon功能区做详细介绍,网上可以搜索相关资料。只想说明,在VS2012及以前的版本,没有内置Ribbon控件。需要到微软的Do
2017-01-12 15:54:55
1313
原创 WPF学习笔记(2)——WPF理论学习
对于新领域,我习惯还是先从理论知识入手。还是买一些书来看吧,我觉得现在最便宜的性价比最高的商品就是书籍了。在一份快餐在15到20块的深圳,一百块钱都不到的书,值得购买。我阅读了两本书,一是刘铁猛的《深入浅出WPF》,另一本是美国人Matthew MacDonald的《WPF编程宝典》。刘书,共12章,注重细节,许多节点讲得很详细,比较符合入门,但部分功能点没有涉及到。美国人的书,共
2017-01-11 17:59:57
482
原创 WPF学习笔记(1)——初识WPF
最近才开始学习WPF。作为混迹江湖多年的程序员,现在才开始学习WPF,有点对不住祖师爷。当然,这不能全怪我,微软负有一定责任——假如WPF推行得红红火火,我至于到现在才开始学习吗?也不是到最近才接触到WPF三个字,创建Win Form时都会出现WPF应用程序模板,但我一直以为WPF就是WindowsPhone Form,在Win Form中间插个Phone,专用于手机应用程序的……
2017-01-11 16:54:40
1586
原创 素质拓展之1到30看图猜数并排序
上周公司组织素质拓展训练,其中有一项是看图猜数,看哪个队花的时间最少,大致细节如下:1) 有30张图片,每张图片代表1到30之间的某个数。2) 请将这30张图片识别出来,并按照1到30顺序排列好。3) 共有6次机会,每次不得超过1分钟,以时间最短的那一次为最终成绩。公司人数众多,共3个大队,每一队有5小队,每小队超过10人。我们那小队共14人。领到任务后,我们小队进行了讨论,
2016-12-13 17:05:29
100926
原创 如何生成供VS2010调用的OpenCV3.0库文件
OpenCV3.0版本不支持VS2010。我们可以自己利用OpenCV3.0源码编译出支持VS2010的库文件。方法是:需要通过CMake工具将OpenCV源码产生出供VS2010编译的构建文件,再编译出支持VS2010调用的库文件(.lib和.dll)。步骤如下:启动CMake(自己先下载CMake),选择好openCV源码路径和输出供VS2010编译的源码路径,如下:
2016-12-06 16:18:43
387
原创 VS如何复制文件到指定路径
在设计程序时,有很多情况采用的是UI与功能分离,功能部分打包成动态库,供主要处理UI的各个程序调用。在VC程序,需要更新动态库的.lib文件和.h文件,每一次更改动态库都要手动复制一次。重复的动作,实在是一个程序员不能容忍的繁琐。好在微软也知程序员的脾气,提供了可写脚本命令的地方。实现步骤:选工程属性(工程右键点击Properties),选BuildEvent->Post-Build
2016-12-06 11:14:44
2826
原创 忘了引用lib
在封装一个调用SDL库的类,编译时出现如下错误:1>SdlCite.obj : error LNK2019: unresolved external symbol _SDL_CreateThread referenced in function "public: int __thiscall CSdlCite::SC_Init(void)" (?SC_Init@CSdlCite@@QAEHXZ
2016-11-03 17:05:27
328
原创 error C2143: syntax error: missing ';' before '__stdcall'
error C2143: syntax error: missing ';' before '__stdcall'
2016-10-31 17:04:30
2596
5
原创 FFMPEG新老接口问题的部分解决方案
网上有许多ffmpeg的程序资料,由于ffmpeg更新太快,许多宏和函数都发生了变化。如果我们在旧程序引用ffmpeg新库文件,会产生一大堆错误;如果不引用新库,旧程序对应版本的库又难以找到。error C4996: 'AVStream::codec': was declared deprecatedcannot convert from 'AVCodecParameters *' to 'AVCodecContext *'
2016-10-27 15:21:56
10127
原创 修改VS2015快捷键
用惯了VS2005和VS2010,许多操作都是用快捷键来执行。比如,“生成解决方案”用F7,对齐代码用Alt+F8。但VS2015已经默认了新的快捷键,使用起来不方便。还好,回到从前是有办法的。如下:工具->选项->环境->键盘 应用以下其他键盘映射方案 Visual C++ 6
2015-08-22 15:53:03
418
WPF的数据绑定——控件与类成员及类对象成员双向绑定
2017-04-11
类似Office 2007框架的WPF应用程序
2017-01-13
供VS2010调用的OpenCV3.0库文件
2016-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人