17-Windows10应用开发-控件编程-按钮Button的使用
1. 核心定位与分类归属
- 类定义:
Windows.UI.Xaml.Controls.Button类。 - 分类归属:属于内容控件(派生自
ContentControl),用于模拟现实中的按钮操作,点击后触发相应事件。 - 编写方式:支持纯 XAML 标记(直观清晰)或 C# 代码动态创建,两者效果等价(XAML 最终会被编译转换为 C# 执行)。
2. 基础语法与核心属性
- 基础声明语法:
- 自闭合/属性赋值:
<Button Content="文本" ... /> - 双标签包裹内容:
<Button ...>内容</Button>
- 自闭合/属性赋值:
- 标识与布局:
Name(后台代码访问标识,如button100)、Margin(外边距)、Width/Height等。 - 内容属性(Content):
- 类型为
object,不仅支持纯文本字符串,还可嵌套任意 UI 元素(如图标、图片、面板)或使用内置的SymbolIcon图形。
- 类型为
3. 事件触发机制(点击事件)
- 三种状态:按钮具备按下(Press)、悬停(Hover)、释放(Release)三种视觉与交互状态。
- 触发时机控制(ClickMode):通过
ClickMode属性决定何时触发Click事件(默认释放时触发,设为Release表示手指/鼠标抬起后才执行单击事件)。 - 事件绑定:XAML 中声明
Click="button1_Click",后台 C# 实现对应方法:private void button1_Click(object sender, RoutedEventArgs e) { // 业务逻辑(如前序课程的页面导航或动态加载XAML) }
4. 样式定制与复合结构
- 基础样式属性:支持
FontSize、FontStyle、Foreground(前景色/文字颜色)、Background(背景色)、BorderThickness(边框厚度)、BorderBrush(边框画刷)、Padding(内边距)等。 - 图片/复合按钮(利用内容控件特性):
由于Content可承载任意 UI,可嵌套StackPanel组合图片与文本实现图文按钮:<Button Width="165"> <StackPanel> <!-- 注:课件原图属性 Weight 为笔误,实际应为 Width --> <Image Source="image/dsdfsd.png" Stretch="None" Height="60" Width="90"/> <!-- 可继续嵌套 TextBlock 显示文字 --> </StackPanel> </Button>
5. 代码示例串联
<!-- 基础文本按钮 + 事件绑定 -->
<Button Content="按钮99" Margin="86,34,0,34"/>
<!-- 命名按钮 + 内部文本 + 事件 -->
<Button Margin="0,66,0,2" Click="button100_Click" Name="button100">按钮100</Button>Code language: HTML, XML (xml)
Previous: 五大控件类别
Next: 文本块TextBlock的使用