前些日子, 我们准备, 为我们的打印机解决方案中增加一个新工具, 他是一个安装在Windows上的客户端程序.
我们的客户, 除了功能以外, 还提出了另外的一个要求, 就是希望这个新工具能长的漂亮些, 花哨些~
WPF在定制Style和Template方面, 比WinForm更有优势, 所以很自然的, 这次我们是用了WPF,
在这篇blog中, 我将整理一下当时调查的一些资料.
对于我们的工具, 一个主要的功能是编辑一个表格, 所以首先的一个调查对象就是datagrid.
我们可以首先使用google图片搜索, 搜索一下关键字wpf datagrid, 我们可以看到各种各样的效果,
当时, 给我留下深刻印象的是这篇blog: Styling Microsoft’s WPF datagrid
他手把手的教我们从动定制了一个, 形如下图效果datagrid控件.
连接中有source可以直接下载,下载的source是基于.net framework3.5
如果在.net framework4以上使用, 会存在编译错误.
为此, 我将Styling Microsoft’s WPF datagrid这篇博客中的示例程序, 针对.net framework4做了调整, 上传到附件中.
在 Creating custom glass buttons with XAML in WPF这篇博客中, 作者给出了一个使用wpf制作玻璃效果按钮的示例.
在WPF C# InputBox @stackoverflow这个连接中, 给出了一个弹出菜单的效果, 效果图如下.
当点击按钮时, 背景变灰, 然后橙色的自己绘制的对话框弹出, 提示用户进行输入.
这个连接中也有这个效果对应的source和xaml文件.
其他资源
这次调查中, 还发现了下面这些连接比较有用.
Windows Presentation Foundation@MSDN
Control Styles and Templates @msdn
通过浏览这个连接的内容, 可以得到这个连接地址Styling with ControlTemplates Sample.
这个sample中有各种控件的示例.
Customizing the Appearance of an Existing Control by Creating a ControlTemplate
WPF DataGrid Practical Examples @codeproject
在这个连接里面, 有一个完整的示例展示如何将DataGrid和Database绑定到一起.
这个连接里面有不少关于wfp的文档
关于DataGird的介绍在这里: WPF DataGrid Control
WPF模式与框架
除了在界面开发方面, WPF具有自己的优势以外,
目前关于如何组织WPF UI和他们背后的业务模型之间, 也存在一些模式和最佳实践.
可以参考下面这几个链接:
WPF Apps With The Model-View-ViewModel Design Pattern @MSDN
WPF Application Framework (WAF) @codeplex