You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在后台代码中更改按钮的Segoe MDL2图标?

UWP按钮点击切换Segoe MDL2图标解决方案

你的代码问题在于:XAML中的会被解析为对应的Unicode图标字符,但在C#中直接赋值"&#xE769"时,程序不会将其解析为图标,只会显示该字符串文本。以下是两种正确的实现方式:

方法一:使用Unicode转义序列

在C#中用\u加上四位十六进制码来表示图标字符,同时添加状态切换逻辑:

修改后的C#代码

private bool _isPlaying = false;

private void btnPlayPause_Tapped(object sender, TappedRoutedEventArgs e)
{
    _isPlaying = !_isPlaying;
    // 根据状态切换图标:\uE768是播放,\uE769是暂停
    btnPlayPause.Content = _isPlaying ? "\uE769" : "\uE768";
}

方法二:直接使用图标字符

可以直接复制Segoe MDL2 Assets中的图标字符(比如播放图标是,暂停是),赋值给按钮Content:

修改后的C#代码

private bool _isPlaying = false;

private void btnPlayPause_Tapped(object sender, TappedRoutedEventArgs e)
{
    _isPlaying = !_isPlaying;
    btnPlayPause.Content = _isPlaying ? "" : "";
}

注意事项

  • 保留XAML中按钮的FontFamily="Segoe MDL2 Assets"设置,否则图标无法正常显示
  • 移除代码中的async关键字,因为这里没有异步操作,避免不必要的异步状态

内容的提问来源于stack exchange,提问作者Jose Afonso Braga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 11:30:57