按钮Button的使用

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)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注