Panuon.UI.Silver使用和介绍
PanuonUI.Silver是国内优秀的WPF开源控件库,Panuon.UI的优化版本。一个漂亮的、使用样式与附加属性的WPF UI控件库,值得向大家推荐使用与学习。
GitHub地址:https://github.com/Panuon/PanuonUI.Silver 码云地址: https://gitee.com/panuon/PanuonUI.Silver
中文学习文档:
中文文档: https://github.com/Panuon/Panuon.Documents/blob/master/Documents/PanuonUI.Silver/zh-cn.md
欢迎使用
PanuonUI.Silver是一个可以高度自定义控件样式的Modern风格WPF控件库,其绝大多数控件都遵循了MVVM设计原则。PanuonUI.Silver的意义在于,你只需更改几个属性值,或调用一些方法,就可以轻松DIY出属于你自己风格的UI界面,而无需深入了解Style的写法,或是Trigger等属性的用法。 PanuonUI.Silver不像DevExpress等控件库那样,通过简单的拖拖拽拽和点击,就能快速生成带有丰富色彩、统一风格的UI界面。虽然PanuonUI.Silver提供了一组默认的样式,但这些样式可能不能满足你的日常需求。UIBrowser中提供了“调色板”功能,你可以用它来快速设计、调整你的控件样式,并获取其代码。只需下载GitHub项目并用Visual Studio打开,你就能找到它。 要最大化利用PanuonUI.Silver控件库的优势,你需要具有一定的审美能力,或者拥有一张现成的设计图。
使用指引
STEP 1. 将PanuonUI.Silver引入到你的项目中
- 以Nuget形式 右击你的个人项目,选择“管理Nuget程序包”。在包管理器页面中,点击“浏览”选项,然后在搜索框中键入“Panuon.UI.Silver”。选择最顶端的正确项目,并在右侧详情页中点击“安装”,等待安装完成即可。
- 以dll形式 在你项目的根文件夹内创建一个名为“References”(当然其他的名字也可以)的文件夹。下载GitHub上的Zip文件并解压后,将解压文件夹目录下“Output/NET40”(若你的项目使用.NET4.5及以上框架,则为“Output/NET45”)文件夹内的所有dll文件拷贝到刚刚创建的文件夹中。切换到Visual Studio,在你项目下的“引用”条目上右击,并选择“添加引用”。点击右下角的“浏览”按钮,并导航到刚刚创建的References文件夹内。全选刚刚复制的dll文件,并点击“添加”按钮,然后再点击“确定”。
- 以项目形式 下载GitHub Zip文件并解压后,将解压文件夹目录下“Net40”(若你的项目使用.NET4.5及以上框架,则为“Net45”)文件夹内的“Panuon.UI.Silver”文件夹拷贝到你项目的根目录(或根目录内的子文件夹)中。切换到Visual Studio,右击你的解决方案,点击“添加” -> “现有项目”,定位到刚刚复制的Panuon.UI.Silver文件夹内,选择“Panuon.UI.Silver.csproj”,并点击“确定”按钮。 在你要使用PanuonUI.Silver的项目下的“引用”条目上右击,并选择“添加引用”。选择“项目”选项卡,勾选“Panuon.UI.Silver”项目,并点击“确定”。 若项目使用.NET4.0及以下版本,必须在用于启动的应用程序主项目中安装“Microsoft.Windows.Shell”的Nuget包,或是直接添加对Microsoft.Windows.Shell.dll的引用。
STEP 2. 添加资源字典
打开你应用程序项目中的“App.xaml”,在<Application.Resources>节点内添加如下内容
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/Panuon.UI.Silver;component/Control.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
这将使Panuon.UI.Silver样式应用到整个程序。若你只希望在特定页面或控件中使用Panuon.UI.Silver样式,请将上述资源字典放置在特定页面或控件的Resources节点内,而不是App.xaml中。
STEP 3. 在代码中使用PanuonUI.Silver
要在页面或控件中使用Panuon.UI.Silver,首先要在目标页面中添加命名空间引用。 对于xaml代码,需要添加引用:
xmlns:pu="clr-namespace:Panuon.UI.Silver;assembly=Panuon.UI.Silver"
以WindowX为例,添加pu命名空间引用后的WindowX如下:
<pu:WindowX ...
xmlns:pu="clr-namespace:Panuon.UI.Silver;assembly=Panuon.UI.Silver"
...>
<Grid>
<Button x:Name="BtnTest"
pu:ButtonHelper.ButtonStyle="Link"
pu:ButtonHelper.CornerRadius="15"
Height="30"
Width="150"/>
</Gird>
</pu:WindowX>
对于C#代码,需要添加引用:
using Panuon.UI.Silver;
- Shell利剑之xargs和time
- Shell利剑之export、read和history
- css sprite 调整大张图片中小图标的大小
- Learn Git One
- Docker系列教程04-Docker镜像常用命令
- Linux 系统优化
- Spring Cloud Edgware新特性之九:Sleuth使用MQ方式整合Zipkin
- Linux 基础知识
- Spring Cloud Edgware新特性之八:Zuul回退的改进
- Install Django Nginx uWSGI
- Spring Cloud Edgware新特性之七:可选的EnableDiscoveryClient注解
- 【LEETCODE】模拟面试-46. Permutations
- CentOS6 Upgrade Python
- Emacs setup for Go Development
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- API设计的几条原则
- 任意文件下载/读取漏洞利用
- 反弹shell的各种姿势
- edu资产收集(主域名)
- 如何创建一个可复用的网页爬虫
- 《剑指offer》第十天:青蛙跳台阶
- Kettle构建Hadoop ETL实践(一):ETL与Kettle
- 初识ABP vNext(2):ABP启动模板
- 维度爆炸?Python实现数据压缩竟如此简单!
- 如何扩展单个Prometheus实现近万Kubernetes集群监控?
- 一文带你彻底厘清 Isito 中的证书工作机制
- 如何将第三方服务注册集成到 Istio ?
- 【Pod Terminating原因追踪系列】之 containerd 中被漏掉的 runc 错误信息
- 【Pod Terminating原因追踪系列之二】exec连接未关闭导致的事件阻塞
- CD+服务网格灰度发布实践,一文带你体验如何编排更灵活