关于 syncfusion-winui-barcode
介绍在 WinUI 应用中使用 Syncfusion SfBarcode 控件的指南,涵盖条码格式选择、数据编码和显示定制。
主要功能
- 01生成一维和二维条码
- 02选择文档所列的条码类型
- 03定制颜色、旋转和文本显示
- 04配置校验和及 QR 纠错级别
- 05设置 DataMatrix 编码和矩阵尺寸
适用场景
- 01制作 UPC 商品标签
- 02生成库存跟踪编码
- 03创建网址或联系信息的 QR 码
- 04制作 DataMatrix 运输标签
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ syncfusion/ winui-ui-components-skills --skill syncfusion-winui-barcode安装后在 Claude Code 中输入/syncfusion-winui-barcode确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/getting-started.mdsymbology-settings.mdsymbology-types.mdtext-customization.mdvisual-customization.md详细介绍
实现条形码(SfBarcode)
Syncfusion WinUI 条形码控件(SfBarcode)可生成并显示机器可读格式的数据。它支持一维(线性)和二维条形码,并提供丰富的自定义选项,可调整外观、文本显示和特定码制的设置。
何时使用此技能
在以下情况下使用此技能:
- 在 WinUI 应用中生成条形码或 QR 码
- 将文本、数字或数据编码为机器可读格式
- 显示产品代码、库存标签或运输信息
- 为移动设备创建可扫描的码(QR、DataMatrix)
- 实现条形码打印功能
- 自定义条形码外观(颜色、旋转、文本显示)
- 为特定数据类型选择合适的码制
- 配置特定码制的设置(纠错、编码、校验和)
组件概览
主要功能:
- **15 种码制类型:**12 种一维条形码格式和 3 种二维条形码格式
- **灵活的文本显示:**可自定义对齐方式、间距和可见性
- **外观自定义:**颜色、条宽、旋转角度
- **码制设置:**特定类型的配置(校验和、编码、纠错)
- **支持 XAML 和代码隐藏:**声明式和编程式实现
常见用例:
- 产品标签(UPC、EAN 代码)
- 库存管理(Code39、Code128)
- 运输标签(GS1-128、DataMatrix)
- 用于 URL、联系信息和 Wi-Fi 凭据的 QR 码
- 文档跟踪(Code93、PDF417)
- 医疗保健标签(Code32 药品)
文档与导航指南
入门
📄 阅读: references/getting-started.md
在以下情况下使用:
- 安装 Syncfusion.Barcode.WinUI NuGet 包
- 使用条形码控件设置新的 WinUI 项目
- 添加命名空间导入(XAML:
using:Syncfusion.UI.Xaml.Barcode,C#:using Syncfusion.UI.Xaml.Barcode) - 通过基本配置创建第一个条形码
- 了解所需的最少代码(Value + Symbology)
涵盖主题:
- 创建 WinUI 3 桌面应用程序
- 安装 NuGet 包
- 在 XAML 和 C# 中配置命名空间
- SfBarcode 基本声明
- 设置码制(CodabarBarcode 示例)
- 首个可运行示例
码制类型
📄 阅读: references/symbology-types.md
在以下情况下使用:
- 为数据选择正确的条形码类型
- 了解一维和二维条形码之间的区别
- 了解各码制支持的字符
- 实现特定条形码类型(Codabar、Code39、Code128、QR、DataMatrix 等)
- 编码不同类型的数据(仅数字、字母数字、完整 ASCII、二进制)
涵盖的码制:
- **一维条形码:**Codabar、Code11、Code32、Code39、Code39Extended、Code93、Code93Extended、Code128A/B/C、UPC、GS1Code128
- **二维条形码:**QRBarcode、DataMatrixBarcode、Pdf417Barcode
- 各类型的字符集表
- 行业特定用例
文本自定义
📄 阅读: references/text-customization.md
在以下情况下使用:
- 显示或隐藏条形码下方的编码文本
- 调整条形码与文本之间的间距
- 水平对齐文本(Left、Center、Right)
- 垂直对齐文本(Top、Bottom)
- 使用 ShowValue 属性控制文本可见性
自定义选项:
- Value 属性(编码文本)
- ShowValue(显示开关)
- TextSpacing(条与文本之间的间距)
- HorizontalTextAlignment
- VerticalTextAlignment
视觉自定义
📄 阅读: references/visual-customization.md
需要以下操作时使用:
- 更改条码颜色(Background、Foreground)
- 调整条宽比例(Module 属性)
- 为 QR 和 DataMatrix 码启用自动调整大小
- 旋转条码(0°、90°、180°、270°)
- 通过适当的对比度确保扫描器可读
自定义功能:
- Background 和 Foreground 颜色
- 1D 条码的 Module 宽度
- 2D 条码的 AutoModule
- 使用 BarcodeRotation 枚举的 RotationAngle
- 扫描器对比度注意事项
特定码制的设置
📄 阅读: references/symbology-settings.md
需要以下操作时使用:
- 配置 1D 条码的校验和选项
- 设置 DataMatrix 条码的编码格式
- 选择 DataMatrix 的矩阵尺寸
- 配置 QR 码版本和纠错级别
- 设置 QR 码的输入模式
- 为条码读取器添加起始/停止符号
配置选项:
- 1D 设置: EnableCheckSum、ShowCheckSum、EncodeStartStopSymbols
- DataMatrix: Encoding(ASCII/ASCIINumeric/Auto/Base256)、MatrixSize(30+ 种尺寸选项)
- QR Code: QRVersion(1-40 或 Auto)、ErrorCorrectionLevel(Low/Medium/Quartile/High)、InputMode(Numeric/AlphaNumeric/Binary)
快速开始
最简条码实现
XAML:
<Page xmlns:syncfusion="using:Syncfusion.UI.Xaml.Barcode">
<Grid>
<syncfusion:SfBarcode x:Name="barcode"
Value="48625310"
Height="150">
<syncfusion:SfBarcode.Symbology>
<syncfusion:CodabarBarcode />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
</Grid>
</Page>
C#:
using Syncfusion.UI.Xaml.Barcode;
SfBarcode barcode = new SfBarcode();
barcode.Value = "48625310";
barcode.Height = 150;
barcode.Symbology = new CodabarBarcode();
Root_Grid.Children.Add(barcode);
用于 URL 的 QR 码
<syncfusion:SfBarcode x:Name="qrCode"
Value="http://www.syncfusion.com"
Height="200"
Width="200">
<syncfusion:SfBarcode.Symbology>
<syncfusion:QRBarcode />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
常见模式
模式 1:产品标签条码(UPC)
<syncfusion:SfBarcode Value="012345678905"
Height="150"
Width="300"
HorizontalTextAlignment="Center">
<syncfusion:SfBarcode.Symbology>
<syncfusion:UpcBarcode />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
模式 2:库存代码(带校验和的 Code39)
<syncfusion:SfBarcode Value="ITEM12345" Height="120">
<syncfusion:SfBarcode.Symbology>
<syncfusion:Code39Barcode EnableCheckSum="True"
ShowCheckSum="True" />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
模式 3:运输标签(DataMatrix)
<syncfusion:SfBarcode Value="SHIP2024-A45678"
Width="200"
Height="200"
ShowValue="False"
AutoModule="True">
<syncfusion:SfBarcode.Symbology>
<syncfusion:DataMatrixBarcode Encoding="Auto"
MatrixSize="Auto" />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
模式 4:用于垂直标签的旋转条码
<syncfusion:SfBarcode Value="VERTICAL123"
RotationAngle="Angle90"
Height="250"
Width="150">
<syncfusion:SfBarcode.Symbology>
<syncfusion:Code128BBarcode />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
模式 5:带纠错功能的 QR 码
<syncfusion:SfBarcode Value="https://example.com/product/12345"
Width="250"
Height="250"
ShowValue="False">
<syncfusion:SfBarcode.Symbology>
<syncfusion:QRBarcode ErrorCorrectionLevel="High"
QRVersion="Auto" />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
模式 6:自定义颜色的条码
<syncfusion:SfBarcode Value="COLORED123"
Background="LightYellow"
Foreground="DarkBlue"
Height="150">
<syncfusion:SfBarcode.Symbology>
<syncfusion:Code128CBarcode />
</syncfusion:SfBarcode.Symbology>
</syncfusion:SfBarcode>
关键属性
核心属性
| 属性 | 类型 | 描述 |
|---|---|---|
| Value | string | 要编码到条码中的文本/数据 |
| Symbology | BarcodeBase | 条码类型(Codabar、QR、DataMatrix 等) |
| ShowValue | bool | 在条码下方显示编码文本(默认:true) |
| Module | double | 1D 条码的条宽比例 |
| AutoModule | bool | 根据控件尺寸自动调整 2D 条码大小 |
| RotationAngle | BarcodeRotation | 旋转条码(Angle0/90/180/270) |
| Background | Brush | 条码背景颜色 |
| Foreground | Brush | 条码条纹/点的颜色 |
| TextSpacing | double | 条码与文本之间的间距 |
| HorizontalTextAlignment | TextAlignment | 文本水平对齐方式(Left/Center/Right) |
| VerticalTextAlignment | BarcodeTextAlignment | 文本垂直位置(Top/Bottom) |
码制选择指南
适用于纯数字数据:
- Code11、Code32、UpcBarcode、Code128C
适用于字母数字数据:
- Code39、Code93、Code128A/B
适用于完整 ASCII 字符:
- Code39Extended、Code93Extended
适用于紧凑型 2D 码:
- QRBarcode(URL、文本)
- DataMatrixBarcode(小型标签)
适用于高容量数据:
- Pdf417Barcode(ID、运输)
适用于国际产品:
- UpcBarcode、GS1Code128Barcode
常见用例
用例 1:产品包装
为零售产品生成 UPC 条码,并居中显示文本。
适用场景: 创建产品标签、零售包装、价格标签
码制: UpcBarcode
参考: getting-started.md、symbology-types.md
用例 2:仓库库存
为库存追踪创建可扫描的代码,并使用字母数字标识符。
适用场景: 资产追踪、仓库管理、库存控制
码制: Code39、Code128
参考: symbology-types.md、symbology-settings.md
用例 3:用于移动设备扫描的二维码
为 URL、联系信息或 Wi-Fi 凭据生成二维码。
适用场景: 营销材料、名片、产品验证
码制: QRBarcode
参考: symbology-types.md、symbology-settings.md
用例 4:运输标签
创建紧凑的 DataMatrix 码,用于运输和物流。
适用场景: 包裹追踪、邮政服务、物流
码制: DataMatrixBarcode、GS1Code128Barcode
参考: symbology-types.md、symbology-settings.md
用例 5:药品标签
生成 Code32 条形码,用于药品包装和追踪。
适用场景: 医疗保健、制药行业、处方标签
码制: Code32Barcode
参考: symbology-types.md
用例 6:文档管理
使用 PDF417 对文档 ID 进行编码,用于归档和检索系统。
适用场景: 文档追踪、归档系统、身份证件
码制: Pdf417Barcode
参考: symbology-types.md
更多资源
- NuGet 包:
Syncfusion.Barcode.WinUI - 命名空间:
Syncfusion.UI.Xaml.Barcode - 官方文档: https://help.syncfusion.com/winui/barcode/
- GitHub 示例: https://github.com/SyncfusionExamples/syncfusion-winui-barcode-examples