关于 syncfusion-wpf-button
面向 WPF 开发者的 Syncfusion ButtonAdv 增强按钮控件指南。内容涵盖图标与尺寸选项、切换行为、MVVM 命令绑定和主题设置。
主要功能
- 01小型、普通和大型尺寸模式
- 02图像及模板图标
- 03切换与可勾选行为
- 04MVVM 命令绑定
- 05主题与模板自定义
适用场景
- 01添加带图标和标签的按钮
- 02构建切换控件
- 03将按钮绑定到 ViewModel 命令
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ syncfusion/ wpf-ui-components-skills --skill syncfusion-wpf-button安装后在 Claude Code 中输入/syncfusion-wpf-button确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/getting-started.mdmvvm-and-commands.mdsize-modes-and-icons.mdstyling-and-themes.mdtoggle-state.md详细介绍
实现 Syncfusion WPF Button(ButtonAdv)
ButtonAdv 是 Syncfusion 增强型 WPF 按钮控件。它在标准 WPF 按钮的基础上扩展了丰富的图标支持(SmallIcon、LargeIcon、IconTemplate)、预定义尺寸模式、切换/可选中行为、多行文本、MVVM 命令绑定、圆角,以及通过 SfSkinManager 提供的完整主题支持。
所需程序集: Syncfusion.Shared.WPF
命名空间: Syncfusion.Windows.Tools.Controls
XAML 架构: http://schemas.syncfusion.com/wpf
何时使用此技能
- 在应用程序中添加 Syncfusion WPF 按钮(通过设计器、XAML 或 C#)
- 配置尺寸模式(Small、Normal、Large)和图标
- 设置切换/可选中按钮
- 使用 MVVM 模式绑定命令
- 自定义标签、圆角、图标尺寸或多行文本
- 应用内置主题或编辑按钮模板
- 处理 Click、Checked 或 Unchecked 事件
导航指南
入门
📄 阅读: references/getting-started.md
- 程序集/NuGet 设置
- 通过设计器、XAML 或 C# 添加 ButtonAdv
- 设置
Label属性 - 自定义
CornerRadius IsDefault和IsCancel模式- 图标优先级加载顺序
尺寸模式与图标
📄 阅读: references/size-modes-and-icons.md
SizeMode枚举:Small、Normal、LargeSmallIcon与LargeIcon的使用规则IconWidth/IconHeight尺寸设置IconTemplate(路径数据、字体图标、DataTemplate)- 用于动态切换图标的
IconTemplateSelector - 用于大尺寸模式多行标签的
IsMultiLine
切换状态
📄 阅读: references/toggle-state.md
IsCheckable— 启用切换行为IsChecked— 设置初始选中状态Checked/Unchecked事件Click事件处理程序
MVVM 与命令
📄 阅读: references/mvvm-and-commands.md
Command属性绑定(ICommand)- 用于传递数据的
CommandParameter - DelegateCommand 实现模式
CanExecute和RaiseCanExecuteChanged- 完整的 ViewModel 示例
样式与主题
📄 阅读: references/styling-and-themes.md
- 通过
SfSkinManager应用内置主题 - 使用 Theme Studio 创建自定义主题
- 在 Expression Blend 中编辑模板
- 在 Visual Studio 中编辑模板
快速开始
最简 XAML 设置
<Window xmlns:syncfusion="http://schemas.syncfusion.com/wpf" ...>
<Grid>
<syncfusion:ButtonAdv Label="Log in"
SizeMode="Normal"
SmallIcon="Images/user.png"
Width="120" Height="36"/>
</Grid>
</Window>
最简 C# 设置
using Syncfusion.Windows.Tools.Controls;
ButtonAdv button = new ButtonAdv();
button.Label = "Log in";
button.SizeMode = SizeMode.Normal;
button.SmallIcon = new BitmapImage(new Uri("Images/user.png", UriKind.RelativeOrAbsolute));
Root.Children.Add(button);
常见模式
带大图标的按钮
<syncfusion:ButtonAdv Label="Save"
SizeMode="Large"
LargeIcon="Images/save-large.png"
Width="68" Height="68"/>
切换按钮
<syncfusion:ButtonAdv Label="Bold"
SizeMode="Normal"
SmallIcon="Images/bold.png"
IsCheckable="True"
IsChecked="False"
Checked="OnBoldChecked"
Unchecked="OnBoldUnchecked"/>
MVVM 命令绑定
<syncfusion:ButtonAdv Label="Submit"
SizeMode="Normal"
Command="{Binding SubmitCommand}"
CommandParameter="SubmitAction"/>
图标模板(矢量/字体图标)
<syncfusion:ButtonAdv Label="User" SizeMode="Normal">
<syncfusion:ButtonAdv.IconTemplate>
<DataTemplate>
<Grid Width="16" Height="16">
<Path Data="M16,0 C19.6,0 22.5,2.9 22.5,6.5 ..."
Fill="#FF3A3A38" Stretch="Fill"/>
</Grid>
</DataTemplate>
</syncfusion:ButtonAdv.IconTemplate>
</syncfusion:ButtonAdv>
主要属性
| 属性 | 类型 | 说明 |
|---|---|---|
Label | string | 向用户显示的按钮文本 |
SizeMode | SizeMode | Small(仅图标)、Normal(图标 + 旁侧标签)、Large(图标 + 下方标签) |
SmallIcon | ImageSource | 用于 Small/Normal 尺寸模式的图标 |
LargeIcon | ImageSource | 用于 Large 尺寸模式的图标 |
IconTemplate | DataTemplate | 矢量/字体图标模板(优先级最高) |
IconTemplateSelector | DataTemplateSelector | 动态切换图标 |
IconWidth | double | 自定义图标宽度 |
IconHeight | double | 自定义图标高度 |
CornerRadius | CornerRadius | 圆角(默认值:3) |
IsCheckable | bool | 启用切换按钮行为 |
IsChecked | bool | 初始切换状态 |
IsMultiLine | bool | 多行标签(仅适用于 Large 模式) |
IsDefault | bool | 按 Enter 键时激活 |
IsCancel | bool | 按 Escape 键时激活 |
Command | ICommand | MVVM 命令绑定 |
CommandParameter | object | 传递给命令处理程序的数据 |
图标优先级顺序:
IconTemplateSelector→IconTemplate→LargeIcon→SmallIcon
评论
支持 Markdown