当前位置: 首页 > news >正文

开箱即用的.NET MAUI组件库 V-Control 发布了!

之前写过挺多的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的源码和示例。

相关文章:

开箱即用的.NET MAUI组件库 V-Control 发布了!

之前写过挺多的MAUI Sample&#xff0c;其中有很多代码可以打包成组件&#xff0c;当组件完善到一定程度&#xff0c;我会把控件封装起来放到控件库中。 今天&#xff0c;在这个仓库建立一年零八个月后&#xff0c;我觉得可以考虑将其作为开源库发布。 有很多网友在观望.NET …...

动手学图神经网络(9):利用图神经网络进行节点分类 WeightsBiases

利用图神经网络进行节点分类Weights&Biases 引言 在本篇博客中,将深入探讨如何使用图神经网络(GNNs)来完成节点分类任务。以 Cora 数据集为例,该数据集是一个引用网络,节点代表文档,推断每个文档的类别。同时,使用 Weights & Biases(W&B)来跟踪实验过程和…...

【文件上传、秒传、分片上传、断点续传、重传】

文章目录 获取文件对象文件上传&#xff08;秒传、分片上传、断点续传、重传&#xff09;优化 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inp…...

使用Pygame制作“打砖块”游戏

1. 前言 打砖块&#xff08;Breakout / Arkanoid&#xff09; 是一款经典街机游戏&#xff0c;玩家控制一个可左右移动的挡板&#xff0c;接住并反弹球&#xff0c;击碎屏幕上方的砖块。随着砖块被击碎&#xff0c;不仅能获得分数&#xff0c;还可以体验到不断加速或复杂的反弹…...

【完整版】DeepSeek-R1大模型学习笔记(架构、训练、Infra)

文章目录 0 DeepSeek系列总览1 模型架构设计基本参数专家混合模型&#xff08;MoE&#xff09;[DeepSeek-V2提出, DeepSeek-V3改良]多头潜在注意力&#xff08;MLA&#xff09;[DeepSeek-V2提出]多token预测&#xff08;MTP&#xff09;[DeepSeek-V3提出] 2 DeepSeek-R1-Zero及…...

深入解析:如何利用 Python 爬虫获取商品 SKU 详细信息

在电商领域&#xff0c;SKU&#xff08;Stock Keeping Unit&#xff0c;库存单位&#xff09;详细信息是电商运营的核心数据之一。它不仅包含了商品的规格、价格、库存等关键信息&#xff0c;还直接影响到库存管理、价格策略和市场分析等多个方面。本文将详细介绍如何利用 Pyth…...

【3】高并发导出场景下,服务器性能瓶颈优化方案-文件压缩

使用EasyExcel导出并压缩文件是一种高效且常见的解决方案&#xff0c;尤其适用于需要处理大量数据的场景。 1. 导出多个Excel文件并压缩成ZIP文件的基本流程 &#xff08;1&#xff09;数据准备&#xff1a;从数据库或其他数据源获取需要导出的数据&#xff0c;并将其存储在Ja…...

FPGA|生成jic文件固化程序到flash

1、单击file-》convert programming files 2、flie type中选中jic文件&#xff0c;configuration decive里根据自己的硬件选择&#xff0c;单击flash loader选择右边的add device选项 3、选择自己的硬件&#xff0c;单击ok 4、选中sof选项&#xff0c;单机右侧的add file 5、选…...

【ArcGIS_Python】使用arcpy脚本将shape数据转换为三维白膜数据

说明&#xff1a; 该专栏之前的文章中python脚本使用的是ArcMap10.6自带的arcpy&#xff08;好几年前的文章&#xff09;&#xff0c;从本篇开始使用的是ArcGIS Pro 3.3.2版本自带的arcpy&#xff0c;需要注意不同版本对应的arcpy函数是存在差异的 数据准备&#xff1a;准备一…...

用Python获取股票数据并实现未来收盘价的预测

获取数据 先用下面这段代码获取上证指数的历史数据&#xff0c;得到的csv文件数据&#xff0c;为后面训练模型用的 import akshare as ak import pandas as pd# 获取上证指数历史数据 df ak.stock_zh_index_daily(symbol"sh000001")# 将数据保存到本地CSV文件 df.…...

Rust 所有权特性详解

Rust 所有权特性详解 Rust 的所有权系统是其内存安全的核心机制之一。通过所有权规则&#xff0c;Rust 在编译时避免了常见的内存错误&#xff08;如空指针、数据竞争等&#xff09;。本文将从堆内存与栈内存、所有权规则、变量作用域、String 类型、内存分配、所有权移动、Cl…...

Gateway路由匹配规则详解

在微服务架构中&#xff0c;Gateway作为请求的入口&#xff0c;扮演着至关重要的角色。它不仅负责路由转发&#xff0c;还具备安全、监控、限流等多种功能。其中&#xff0c;路由匹配规则是Gateway的核心功能之一&#xff0c;它决定了请求如何被正确地转发到目标服务。本文将详…...

项目实操:windows批处理拉取git库和处理目录、文件

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

前端开发知识梳理 - HTMLCSS

1. 盒模型 由内容区&#xff08;content&#xff09;、内边距&#xff08;padding&#xff09;、边框&#xff08;border&#xff09;和外边距&#xff08;margin&#xff09;组成。 &#xff08;1&#xff09;标准盒模型&#xff08;box-sizing默认值, content-box&#xff…...

nginx中的proxy_set_header参数详解

在使用 Nginx 作为反向代理服务器时&#xff0c;proxy_set_header 指令扮演着至关重要的角色。它允许我们自定义请求头信息&#xff0c;将客户端请求传递给上游服务器时&#xff0c;添加或修改特定的信息&#xff0c;从而实现更灵活的代理功能。本文将深入探讨 proxy_set_heade…...

MapReduce是什么?

MapReduce 是一种编程模型&#xff0c;最初由 Google 提出&#xff0c;旨在处理大规模数据集。它是分布式计算的一个重要概念&#xff0c;通常用于处理海量数据并进行并行计算。MapReduce的基本思想是将计算任务分解为两个阶段&#xff1a;Map 阶段和 Reduce 阶段。 Map 阶段&a…...

Text2Sql:开启自然语言与数据库交互新时代(3030)

一、Text2Sql 简介 在当今数字化时代&#xff0c;数据处理和分析的需求日益增长。对于众多非技术专业人员而言&#xff0c;数据库操作的复杂性常常成为他们获取所需信息的障碍。而 Text2Sql 技术的出现&#xff0c;为这一问题提供了有效的解决方案。 Text2Sql&#xff0c;即文…...

《图解设计模式》笔记(五)一致性

十一、Composite模式&#xff1a;容器与内容的一致性 像文件夹与文件一样&#xff0c;文件夹中可以放子文件夹与文件&#xff0c;再比如容器中可以放更小的容器和具体内容。 Composite模式&#xff1a;使容器与内容具有一致性&#xff0c;创造出递归结构。 Composite&#x…...

华为支付-免密支付接入免密代扣说明

免密代扣包括支付并签约以及签约代扣场景。 开发者接入免密支付前需先申请开通签约代扣产品&#xff08;即申请配置免密代扣模板及协议模板ID&#xff09;。 华为支付以模板维度管理每一个代扣扣费服务&#xff0c;主要组成要素如下&#xff1a; 接入免密支付需注意&#x…...

React组件中的列表渲染与分隔符处理技巧

React组件中的列表渲染与分隔符处理技巧 摘要问题背景解决方案分析方案一&#xff1a;数组拼接法方案二&#xff1a;Fragment组件方案三&#xff1a;动态生成key 关键技术点1. key的使用原则2. Fragment组件3. 性能优化 实战演练挑战1&#xff1a;动态分隔符样式挑战2&#xff…...

mysql密码正确SpringBoot和Datagrip却连接不上

报错信息&#xff1a;SQLException: Access denied for user ‘root‘‘localhost‘ (using password: YES&#xff09; 原因可能是是有端口号冲突 我这里是禅道端口与MySQL冲突&#xff0c;禅道端口也是3306&#xff0c;ctrlaltdelete打开任务管理器&#xff0c;关闭mysqlzt …...

NeRF 技术深度解析:原理、局限与前沿应用探索(AI+3D 产品经理笔记 S2E04)

引言&#xff1a;光影的魔法师——神经辐射场概览 在前三篇笔记中&#xff0c;我们逐步揭开了 AI 生成 3D 技术的面纱&#xff1a;从宏观的驱动力与价值&#xff08;S2E01&#xff09;&#xff0c;到主流技术流派的辨析&#xff08;S2E02&#xff09;&#xff0c;再到实用工具的…...

使用 Unstructured 开源库快速入门指南

引言 本文将介绍如何使用 Unstructured 开源库&#xff08;GitHub&#xff0c;PyPI&#xff09;和 Python&#xff0c;在本地开发环境中将 PDF 文件拆分为标准的 Unstructured 文档元素和元数据。这些元素和元数据可用于 RAG&#xff08;检索增强生成&#xff09;应用、AI 代理…...

前端面试五之vue2基础

1.属性绑定v-bind&#xff08;&#xff1a;&#xff09; v-bind 是 Vue 2 中用于动态绑定属性的核心指令&#xff0c;它支持多种语法和用法&#xff0c;能够灵活地绑定 DOM 属性、组件 prop&#xff0c;甚至动态属性名。通过 v-bind&#xff0c;可以实现数据与视图之间的高效同…...

预训练语言模型T5-11B的简要介绍

文章目录 模型基本信息架构特点性能表现应用场景 T5-11B 是谷歌提出的一种基于 Transformer 架构的预训练语言模型&#xff0c;属于 T5&#xff08;Text-To-Text Transfer Transformer&#xff09;模型系列&#xff0c;来自论文 Colin Raffel, Noam Shazeer, Adam Roberts, Kat…...

小黑一层层削苹果皮式大模型应用探索:langchain中智能体思考和执行工具的demo

引言 小黑黑通过探索langchain源码&#xff0c;设计了一个关于agent使用工具的一个简化版小demo&#xff08;代码可以跑通&#xff09;&#xff0c;主要流程&#xff1a; 1.问题输入给大模型。 2.大模型进行思考&#xff0c;输出需要执行的action和相关思考信息。 3.通过代理&…...

校招 java 面试基础题目及解析

我将结合常见的校招Java面试基础题目&#xff0c;从概念阐述、代码示例等角度展开&#xff0c;为你提供一份可用于学习的技术方案及应用实例。 校招Java面试基础题目解析与学习指南 在Java校招面试中&#xff0c;扎实掌握基础知识是成功的关键。本文将围绕常见的Java基础面试…...

【win | docker开启远程配置】使用 SSH 隧道访问 Docker的前操作

在主机A pycharm如何连接远程主机B win docker? 需要win docker配置什么&#xff1f; 快捷配置-主机B win OpenSSH SSH Server https://blog.csdn.net/z164470/article/details/121683333 winR,打开命令行&#xff0c;输入net start sshd,启动SSH。 或者右击我的电脑&#…...

MVC与MVP设计模式对比详解

MVC&#xff08;Model-View-Controller&#xff09;和MVP&#xff08;Model-View-Presenter&#xff09;是两种广泛使用的分层架构模式&#xff0c;核心目标是解耦业务逻辑、数据和界面&#xff0c;提升代码可维护性和可测试性。以下是它们的对比详解&#xff1a; MVC 模式&…...

测试W5500的第11步_使用ARP解析IP地址对应的MAC地址

本文介绍了基于W5500芯片的ARP协议实现方法&#xff0c;详细阐述了ARP请求与回复的工作机制。ARP协议通过广播请求和单播回复实现IP地址与MAC地址的映射&#xff0c;确保局域网设备间的可靠通信。文章提供了完整的STM32F10x开发环境下的代码实现&#xff0c;包括网络初始化、SP…...