程序开发者使用第三方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控件库相关推荐

  1. MahApps.Metro扁平化UI控件库(可修改主题色等)

    一.名词解释 使用MahApps.Metro扁平化UI控件库,可以使界面呈现更加美观.本文将总结MahApps.Metro的使用方法,及如何自定义修改其主题颜色等. 详细内容可参考官网:https:/ ...

  2. wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro

    wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...

  3. UI控件库分享:DWZ(j-UI)、LigerUI、Linb

    DWZ(j-UI): 在线演示地址:http://demo.dwzjs.com 在线文档:http://demo.dwzjs.com/doc/dwz-user-guide.pdf DWZ框架Ajax开 ...

  4. FineUI(专业版)v3.2.0 发布(ASP.NET UI控件库)!

    +2016-08-20 v3.2.0+表格增强.+表格列RenderField增加属性ClientHtmlEncode,用于在客户端进行HTML编码.-增加示例:单元格编辑->杂项->客户 ...

  5. 很棒的WPF控件库 Newbeecoder.UI

    Newbeecoder.UI是一个强大的WPF基于MVVM框架和控件库实用程序.它支持窗口边框阴影,窗口圆角,包含许多优雅的控件.它让开发人员更高效.更快地创建漂亮的WPF构建应用程序.它支持从4.0 ...

  6. WPF源码控件库《Newbeecoder.UI》轮播

    轮播控件是一种强大且视觉上吸引人的方式来呈现多个数据项,本文讨论Newbeecoder.UI轮播控件的原理和一个简单的演示应用程序. 轮播控件是包含Canvas控件的 WPF 用户控件,项目控件是的子 ...

  7. 《Dotnet9》系列-开源C# WPF控件库2《Panuon.UI.Silver》强力推荐

    国内优秀的WPF开源控件库,Panuon.UI的优化版本.一个漂亮的.使用样式与附加属性的WPF UI控件库,值得向大家推荐使用与学习. 今天站长(Dotnet9,站长网址:https://dotne ...

  8. 开源 WPF控件库 Newbeecoder.UI推荐

    WPF开发桌面软件具有天然优势,能快速漂亮的界面程序. Newbeecoder.UI是一款简单易用漂亮的 WPF UI控件库,基于MVVM框架,融合多个开源组件,为个人定制的UI提供支持. Newbe ...

  9. 1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton

     UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS ...

  10. (四)开源C# WPF控件库《AduSkin – UI》

    微信公众号:[Dotnet9的博客],网站:[Dotnet9],问题或建议:[请网站留言], 如果对您有所帮助:[欢迎赞赏]. https://dotnet9.com 追求极致,永臻完美 A Beau ...

最新文章

  1. 一、Axis2 WebService开发准备工作
  2. 计算机二级基础知识 文库,计算机二级公共基础知识(全)
  3. 《Artifact》的得与失:成功的游戏工业品,却与主流背道而驰
  4. CRM and S4 Fiori UI coexistence
  5. Item 14 In public classes, use accessor methods, not public fields
  6. 修复IE下列表 li 的阶梯Bug
  7. win7键盘失灵 登陆界面键盘失效无法输入密码的解决办法
  8. 今天中午还收到了,一条诈骗短信,说是中奖了
  9. 【国内首套H3C V7交换机实战课程-1】Comware V7使用、维护与管理-王达-专题视频课程...
  10. Linux命令 - tar命令
  11. 英特尔固态盘加速云与大数据应用创新
  12. 微信小程序(第二十六章)- json-server环境搭建
  13. iOS国际化(多语言)App名称国际化
  14. 深扒 | AI艺术品的另类产业链
  15. 制作单文件版软件竟如此简单!一键就能无脑打包!
  16. java速算24,java枚举速算24正解集合
  17. 概率论与数理统计学习笔记——第13讲——依概率收敛的意义
  18. Ace,CodeMirror 和 Monaco:Web 代码编辑器的对比
  19. arduino+A4889+步进电机
  20. Semantic Visual Simultaneous Localization and Mapping: A Survey阅读笔记

热门文章

  1. 如何制定项目里程碑?
  2. 七代处理器装win7_Intel7代处理器 win10重装win7后无法安装显卡声卡驱动的解决方案 | A小可私人狗窝...
  3. 图像分类以及经典的分类模型
  4. network secruity studay day3
  5. 华为员工吐槽加班太多,晒出7天上班打卡记录网友:不怕猝死吗?
  6. 张小龙分享微信——从产品经理的角度解读微信
  7. 值得关注的18支基金
  8. 自制力差的元凶及习惯的养成过程
  9. Cloudera Manager集群报警,堆转储目录/tmp 或日志目录/var/log 可用空间小于 5.0 吉字节
  10. android手机内存单位 吉字节,Android的尺寸单位