好用的轻量级UI控件库
程序开发者使用第三方UI库更多是为了方便且省事把控件植入到项目中去,不用去研究UI控件实现细节,同时还有基础属性设置改变其样式。这样更快速开发项目,节省不少时间。
Newbeecoder.UI控件库也是基于这个架构理念开发的,在Windows平台上用wpf开发项目具有天然的优势。
本篇文章主要分两部分介绍第三方Newbeecoder.UI库,第一部分介绍UI库使用方式,第二部分简单介绍下开源控件库框架和代码结构。
为了方便用户了解软件功能,先视频简单演示下控件库界面和程序框架。
开源框架Newbeecoder.UI
Demo下载:
Newbeecoder.UI开源项目https://share.weiyun.com/py6W1dcK
一、Newbeecoder.UI控件库中有四种类型Button:基础按钮(NbButton)、重复按钮(NbRepeatButton)、多选按钮(NbToggleButton )、单选按钮(NbRadioButton)。
在wpf界面中调用普通按钮样式、假如要改成重复按钮或多选按钮,只需要把名称NbRepeatButton替换即可,Style名称保持不变。
<NbButton Style="{DynamicResource NormalButtonStyle}" Margin="5" Content="一般按钮"/>
<NbButton Style="{DynamicResource DefaultButtonStyle}" Margin="5" Content="默认按钮"/>
<NbButton Style="{DynamicResource SuccessButtonStyle}" Margin="5" Content="成功按钮"/>
<NbButton Style="{DynamicResource InfoButtonStyle}" Margin="5" Content="信息按钮"/>
<NbButton Style="{DynamicResource WarningButtonStyle}" Margin="5" Content="警告按钮"/>
<NbButton Style="{DynamicResource DangerButtonStyle}" Margin="5" Content="危险按钮"/>
二、Newbeecoder.UI中选项框使用也非常方便,UI库选项框有三种,方形单选框,圆形单选框,多选框。
单选框调用样式代码,注意需要设置GroupName为同一个名称。
<NbRadioBox Style="{DynamicResource DefaultRadioBoxStyle}" Margin="5" Content="A. 0" GroupName="Ans1"/>
<NbRadioBox Style="{DynamicResource DefaultRadioBoxStyle}" Margin="5" Content="B. 1" GroupName="Ans1"/>
<NbRadioBox Style="{DynamicResource DefaultRadioBoxStyle}" Margin="5" Content="C. 2" GroupName="Ans1"/>
<NbRadioBox Style="{DynamicResource DefaultRadioBoxStyle}" Margin="5" Content="D. 4" GroupName="Ans1"/>
调用复选框样式代码:
<NbCheckBox Style="{DynamicResource DefaultCheckBoxStyle}" Margin="5" Content="A. -1"/>
<NbCheckBox Style="{DynamicResource DefaultCheckBoxStyle}" Margin="5" Content="B. -2"/>
<NbCheckBox Style="{DynamicResource DefaultCheckBoxStyle}" Margin="5" Content="C. 1"/>
<NbCheckBox Style="{DynamicResource DefaultCheckBoxStyle}" Margin="5" Content="D. 2"/>
三、有多种输入框样式,所有输入框样式默认都使用一个样式。
根据开发需求在使用中灵活使用输入框参数设置。调用示例如下:
<TextBlock Text="常规:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" Placeholder="带有提示文字的输入框"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" Placeholder="多行模式" AcceptsReturn="True"/>
<TextBlock Text="禁用:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" Text="内容" IsEnabled="False"/>
<TextBlock Text="只读:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" Text="内容" IsReadOnly="True"/>
<TextBlock Text="整数:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" InputMode="Int"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" InputMode="Int" MinInt="5" MaxInt="10" Placeholder="限制范围[5,10]输入"/>
<TextBlock Text="数字:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" InputMode="Number"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" InputMode="Number" MinNumber="5.01" MaxNumber="10.09" NumberDecimals="2" Placeholder="限制范围[5.01,10.09]输入,限制小数位数2"/>
<TextBlock Text="密码:" Margin="5"/>
<NbTextBox Style="{DynamicResource DefaultTextBoxStyle}" Margin="5" InputMode="Password" Placeholder="请输入密码"/>
<TextBlock Text="IP输入:" Margin="5"/>
<NbIpBox Width="180" HorizontalAlignment="Left"/>
四、VS自带的下拉框能满足基本要求,但下拉框没有搜索和清除功能,所以在Newbeecoder.UI中增加这两项功能。
<TextBlock Text="可编辑" Margin="5"/>
<NbComboBox Style="{DynamicResource DefaultComboBoxStyle}" Margin="5" IsEditable="True" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="False"><NbComboBoxItem Content="橘子"/><NbComboBoxItem Content="苹果"/><NbComboBoxItem Content="香蕉"/><NbComboBoxItem Content="草莓"/><NbComboBoxItem Content="梨子"/>
</NbComboBox>
<TextBlock Text="不可编辑" Margin="5"/>
<NbComboBox Style="{DynamicResource DefaultComboBoxStyle}" Margin="5" IsEditable="False" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="False"><NbComboBoxItem Content="橘子"/><NbComboBoxItem Content="苹果"/><NbComboBoxItem Content="香蕉" IsSelected="True"/><NbComboBoxItem Content="草莓"/><NbComboBoxItem Content="梨子"/>
</NbComboBox>
<TextBlock Text="带清除按钮" Margin="5"/>
<NbComboBox Style="{DynamicResource DefaultComboBoxStyle}" Margin="5" IsEditable="False" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="True"><NbComboBoxItem Content="橘子"/><NbComboBoxItem Content="苹果"/><NbComboBoxItem Content="香蕉" IsSelected="True"/><NbComboBoxItem Content="草莓"/><NbComboBoxItem Content="梨子"/>
</NbComboBox>
<TextBlock Text="禁用" Margin="5"/>
<NbComboBox Style="{DynamicResource DefaultComboBoxStyle}" Margin="5" IsEditable="False" EnabledSearchItems="True" EnabledSearchIgnoreCase="True" ShowClearButton="True" IsEnabled="False"><NbComboBoxItem Content="橘子"/><NbComboBoxItem Content="苹果"/><NbComboBoxItem Content="香蕉" IsSelected="True"/><NbComboBoxItem Content="草莓"/><NbComboBoxItem Content="梨子"/>
</NbComboBox>
五、日期时间控件在WPF只能选择日期,没有选择时间功能,为了满足用户需求,在日期控件加入选择日期+时间
在日期时间控件设置DateTimePickerMode模式,比如要显示日期+时间设置DateTimePickerMode="DateTime"即可
<TextBlock Text="日期" Margin="5"/>
<NbDateTimePicker Style="{DynamicResource DefaultDateTimePickerStyle}" Margin="5" DateTimePickerMode="Date" Width="180" MaxDate="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='{}{0:dd/MM/yyyy}'}"/>
<TextBlock Text="日期时间" Margin="5"/>
<NbDateTimePicker Style="{DynamicResource DefaultDateTimePickerStyle}" Margin="5" DateTimePickerMode="DateTime" Width="180" MaxDate="{Binding Source={x:Static sys:DateTime.Now}, StringFormat='{}{0:dd/MM/yyyy}'}"/>
<TextBlock Text="时间" Margin="5"/>
<NbDateTimePicker Style="{DynamicResource DefaultDateTimePickerStyle}" Margin="5" DateTimePickerMode="Time" Width="180"/>
<TextBlock Text="日历" Margin="5"/>
<NbCalendar BorderBrush="{Binding Path=Color.Brush_Border1, Source={x:Static NbTheme.Current}}" BorderThickness="1" Height="300" Width="300"/>
Newbeecoder.UI控件库还有更多功能就没有详细介绍,我直接给出下载网址:通过Demo演示程序了解。
Newbeecoder.UI控件库https://download.csdn.net/download/liaohaiyin/63234875
第二部分介绍下开源控件库框架和代码结构。主要包含有装饰器类、自定义特性、控件类、自定义控件、转换器、核心类、事件类、资源样式,主题样式、控件参数。
一、装饰器类给控件添加遮罩层。
二、自定义特性
三、控件扩展类以Nb开头,扩展类有丰富的注释,方便用户快速了解代码实现。
四、自定义控件定义了某些控件样式
五、转换器集成各种转换类。
六、核心扩展类主要是算法和逻辑、以及扩展方法。方便开发者使用和扩展。
七、事件类主要是自定义事件
八、控件样式是把控件样式封装在资源文件中,开发者需要重构样式时,在样式中修改即可。控件样式以Nb开头。
九、主题样式是扩展控件有更多的风格,用户添加不同风格控件,可以在指定的资源文件中增加所需控件风格。
十、系统参数是控件库中使用颜色,字体,控件大小需要的属性。
还有更多控件就没有做详细介绍,在使用Newbeecoder.UI控件库有需要技术技术可以私信我。
好用的轻量级UI控件库相关推荐
- MahApps.Metro扁平化UI控件库(可修改主题色等)
一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...
- wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro
wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...
- UI控件库分享:DWZ(j-UI)、LigerUI、Linb
DWZ(j-UI): 在线演示地址:http://demo.dwzjs.com 在线文档:http://demo.dwzjs.com/doc/dwz-user-guide.pdf DWZ框架Ajax开 ...
- FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!
+2016-08-20 v3.2.0+表格增强.+表格列RenderField增加属性ClientHtmlEncode,用于在客户端进行HTML编码.-增加示例:单元格编辑->杂项->客户 ...
- 很棒的WPF控件库 Newbeecoder.UI
Newbeecoder.UI是一个强大的WPF基于MVVM框架和控件库实用程序.它支持窗口边框阴影,窗口圆角,包含许多优雅的控件.它让开发人员更高效.更快地创建漂亮的WPF构建应用程序.它支持从4.0 ...
- WPF源码控件库《Newbeecoder.UI》轮播
轮播控件是一种强大且视觉上吸引人的方式来呈现多个数据项,本文讨论Newbeecoder.UI轮播控件的原理和一个简单的演示应用程序. 轮播控件是包含Canvas控件的 WPF 用户控件,项目控件是的子 ...
- 《Dotnet9》系列-开源C# WPF控件库2《Panuon.UI.Silver》强力推荐
国内优秀的WPF开源控件库,Panuon.UI的优化版本.一个漂亮的.使用样式与附加属性的WPF UI控件库,值得向大家推荐使用与学习. 今天站长(Dotnet9,站长网址:https://dotne ...
- 开源 WPF控件库 Newbeecoder.UI推荐
WPF开发桌面软件具有天然优势,能快速漂亮的界面程序. Newbeecoder.UI是一款简单易用漂亮的 WPF UI控件库,基于MVVM框架,融合多个开源组件,为个人定制的UI提供支持. Newbe ...
- 1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton
UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS ...
- (四)开源C# WPF控件库《AduSkin – UI》
微信公众号:[Dotnet9的博客],网站:[Dotnet9],问题或建议:[请网站留言], 如果对您有所帮助:[欢迎赞赏]. https://dotnet9.com 追求极致,永臻完美 A Beau ...
最新文章
- 一、Axis2 WebService开发准备工作
- 计算机二级基础知识 文库,计算机二级公共基础知识(全)
- 《Artifact》的得与失:成功的游戏工业品,却与主流背道而驰
- CRM and S4 Fiori UI coexistence
- Item 14 In public classes, use accessor methods, not public fields
- 修复IE下列表 li 的阶梯Bug
- win7键盘失灵 登陆界面键盘失效无法输入密码的解决办法
- 今天中午还收到了,一条诈骗短信,说是中奖了
- 【国内首套H3C V7交换机实战课程-1】Comware V7使用、维护与管理-王达-专题视频课程...
- Linux命令 - tar命令
- 英特尔固态盘加速云与大数据应用创新
- 微信小程序(第二十六章)- json-server环境搭建
- iOS国际化(多语言)App名称国际化
- 深扒 | AI艺术品的另类产业链
- 制作单文件版软件竟如此简单!一键就能无脑打包!
- java速算24,java枚举速算24正解集合
- 概率论与数理统计学习笔记——第13讲——依概率收敛的意义
- Ace,CodeMirror 和 Monaco:Web 代码编辑器的对比
- arduino+A4889+步进电机
- Semantic Visual Simultaneous Localization and Mapping: A Survey阅读笔记
热门文章
- 如何制定项目里程碑?
- 七代处理器装win7_Intel7代处理器 win10重装win7后无法安装显卡声卡驱动的解决方案 | A小可私人狗窝...
- 图像分类以及经典的分类模型
- network secruity studay day3
- 华为员工吐槽加班太多,晒出7天上班打卡记录网友:不怕猝死吗?
- 张小龙分享微信——从产品经理的角度解读微信
- 值得关注的18支基金
- 自制力差的元凶及习惯的养成过程
- Cloudera Manager集群报警,堆转储目录/tmp 或日志目录/var/log 可用空间小于 5.0 吉字节
- android手机内存单位 吉字节,Android的尺寸单位