之前写过挺多的MAUI Sample,其中有很多代码可以打包成组件,当组件完善到一定程度,我会把控件封装起来放到控件库中。

今天,在这个仓库建立一年零八个月后,我觉得可以考虑将其作为开源库发布。

有很多网友在观望.NET MAUI,犹豫是否可以拿来作为有生产力的跨平台移动端开发工具,此时我想告诉大家,.NET MAUI是一个非常不错的移动开发平台。配合 V-Control 来构建移动应用程序,V-Control是适用于.NET MAUI 的组件库(Component),它提供了一组开箱即用的 UI 控件,可快速搭建面向业务的应用程序界面。

功能

  • VButton - 按钮组件
  • VCard - 卡片组件
  • VCheckableCollection - 可勾选的集合组件
  • VCheckBox - 复选框组件
  • VCheckBoxButton - 复选框按钮组件
  • VCheckBoxGroup - 复选框集合组件
  • VCollectionView - 集合视图组件
  • VDateNativePicker - 原生封装的日期选择器组件
  • VDatePicker - 日期选择器组件
  • VEditor - 编辑器组件
  • VExpander - 展开收起组件
  • VFormItem - 表单组件
  • VIndicator - 进度指示器组件
  • VMenuCell - 菜单项组件
  • VNumberEntry - 数字输入框组件
  • VPicker - 选择器组件
  • VRadioButton - 单选框组件
  • VRadioButtonGroup - 单选框集合组件(切换栏组件)
  • VSearchBar - 搜索栏组件
  • VTagPicker - 标签选择器组件
  • VTimeLine - 时间轴组件
  • VTopAppBar - 顶栏组件
  • VTouchContentView - 手势监听组件
  • VUploader - 文件上传组件
  • VValidatingEntry - 带验证的输入框组件
  • VValidatingPicker - 带验证的选择器组件
  • VRichTextEditor - 富文本编辑器组件
  • VEntry - 输入框组件
  • VPlaceholderView - 占位视图组件

Todo

  • VAutocomplete - 自动完成组件
  • VComparisonView - 比较视图组件
  • VCalendar - 日历组件
  • 暗黑模式
  • 基于 BlazorApp 的组件

快速开始

  1. 在你的.NET MAUI 项目中执行以下命令来安装 V-Control:
dotnet add package VControl

或在NUGET中搜索"V-Control"并安装它。

  1. 在 MauiProgram 使用.UseVControl()在MauiAppBuilder中添加V-Control的处理程序。
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseVControl() //在这里添加V-Control的处理程序
var mauiApp = builder.Build();
return mauiApp;
}
  1. 打开 App.xaml 文件, 在资源中添加<v:VControlTheme />。

<?xml version = "1.0" encoding = "UTF-8" ?>
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:v="clr-namespace:VControl.Styles;assembly=VControl">
<Application.Resources>
<v:VControlTheme />
...
</Application.Resources>
</Application>

文档

前往V-Control Docs

源码和示例

您可以前往GitHub查看V-Control的源码和示例。

V-Control 开箱即用的.NET MAUI组件库发布了!的更多相关文章

  1. 开箱即用 yyg-cli(脚手架工具):快速创建 vue3 组件库和vue3 全家桶项目

    1 yyg-cli 是什么 yyg-cli 是优雅哥开发的快速创建 vue3 项目的脚手架.在 npm 上发布了两个月,11月1日进行了大升级,发布 1.1.0 版本:支持创建 vue3 全家桶项目和 ...

  2. Element Vue 开箱即用框架如何使用-测试开发【提测平台】阶段小结(二)

    微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 上一篇总结了后端服务接口的开发,这篇我们主要来总结下前后端分离开发中的前端部分,主要是开箱即用的框架介绍和之前章节组件的梳理和部分的扩展内 ...

  3. 通用对话弹窗CommonDialog

    代码地址如下:http://www.demodashi.com/demo/12592.html 通用对话弹窗CommonDialog Version 1.0 Created by chenchangj ...

  4. 创建一个自己的Vue UI组件库,并将它发布在npm上

    本文仅限于入门级,没有成规模制作,希望能对你有所帮助. 因为在开发多个项目中可能会用到同一个组件,那么我们通过复制粘贴的形式更新,无异于是笨拙的,我们可以通过上传到npm后,不断迭代npm包来实现更新 ...

  5. 开箱即用的Vite-Vue3工程化模板

    开箱即用的Vite-Vue3工程化模板 前言 由于临近毕业肝毕设和论文,停更有一段时间了,不过好在终于肝完了大部分内容,只剩下校对工作 毕设采用技术栈Vue3,Vite,TypeScript,Node ...

  6. 用 40 块搞个游戏机「GitHub 热点速览 v.22.27」

    作者:HelloGitHub-小鱼干 最便宜的小霸王游戏机都超过了五十,但是现在有了 PicoBoot 你用 40 块的树莓派就能搞出个任天堂游戏机(NGC).PicoBoot 替换了 NGC 的 I ...

  7. DATAGUARD中手工处理日志v$archive_GAP的方法

    从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,FAL自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法: 1.在备库查询有哪些日志丢失,没应用到备库 S ...

  8. DG下手工处理v$archive_gap方法

    从9i以后,oracle dataguard 备库一般都不需要手工处理丢失的日志,FAL自动会帮我们处理,下面通过个案例来讲下手工处理丢失的日志的方法: 1.在备库查询有哪些日志丢失,没应用到备库 S ...

  9. Centos7.4使用SoftEther搭建V.PN

    参考: https://blog.csdn.net/qq_39591494/article/details/78625394?locationNum=9&fps=1 https://www.b ...

  10. 自建纯净谷歌搜索「GitHub 热点速览 v.21.35」

    作者:HelloGitHub-小鱼干 虽然 Google 搜索的结果不如百度搜索结果那般广告丛生,但是对于一心只想找到匹配结果的我们而言,推广的信息条目能免则免.whoogle-search 便是一个 ...

随机推荐

  1. 使用sqlparse解析table_name,支持子查询, left join等

    import sqlparse from sqlparse.sql import IdentifierList, Identifier from sqlparse.tokens import Keyw ...

  2. C++学习笔记-Cherno C++系列

    21-23.[Cherno C++]C++中的静态(static) static变量只在编译单元内部链接 静态变量的作用域只在单个文件内 建议:在非特殊情况下,永远使用static定义全局变量以限制作 ...

  3. Java方法参数太多怎么办—Part 1—自定义类型

    本文由 ImportNew - 王村平 翻译自 dzone.如需转载本文,请先参见文章末尾处的转载要求. 本文是这个系列的第一篇文章,介绍了采用自定义类型处理参数过多的问题.如果你也希望参与类似的系列 ...

  4. DSPf28335 --工程模版相关文件

    创建工程需要的两个文件 DSP2833x_common 1.cmd 下图中的两个文件(由TI公司提供的) 1.28335_RAM_lnk.cmd :程序下载到RAM中进行调试和仿真所使用的启动文件. ...

  5. vue使用高德地图Amap未定义问题

    // 引入高德地图 import VueAMap from 'vue-amap'; Vue.use(VueAMap); // 初始化vue-amap VueAMap.initAMapApiLoader ...

  6. 【Javaweb】基础开发流程与介绍

    本文档写于2022年7月29日,由于个人水平有限,可能存在一些问题,因此仅供参考 @萌狼蓝天 JavaWeb基础开发流程 1.确定系统和功能 在此以"宠物管理系统"为例,要开发一个 ...

  7. 【转载】Spring Cloud Gateway-路由谓词工厂详解(Route Predicate Factories)

    http://www.imooc.com/article/290804 TIPS 本文基于Spring Cloud Greenwich SR2编写,兼容Spring Cloud Finchley及更高 ...

  8. Qt编写可视化大屏电子看板系统30-模块8物料管理

    一.前言 物料管理模块包括库存占比.主要零件库存状况子模块,其中库存占比采用自定义控件环形进度条展示,总共有多种库存,具体根据数据库中的名称展示不同的界面,当库存数不够的时候,对应环形进度条颜色红色显 ...

  9. Qt音视频开发23-通用视频控件

    一.前言 在之前做的视频监控系统中,根据不同的用户需要,做了好多种视频监控内核,有ffmpeg内核的,有vlc内核的,有mpv内核的,还有海康sdk内核的,为了做成通用的功能,不同内核很方便的切换,比 ...

  10. Java GUI控件SwingX之JXTaskPane的使用示例

    JXTaskPane 类似XP 左边的导航栏,在开发Swing应用的时候很好用的.下面两张截图反应了JXTaskPane的动画效果.可以自由的卷起和展开.   JXTaskPane的的使用步骤:1.新 ...