gpt4 book ai didi

xaml - 绑定(bind)后转换器返回 Segoe MDL2 图标不起作用

转载 作者:行者123 更新时间:2023-12-04 13:59:13 27 4
gpt4 key购买 nike

我正在尝试将 PlayerFramework.MediaPlayer.CanPause 属性绑定(bind)到我的 Windows 10 通用应用程序中的按钮。这使用默认字体,但是当我切换到 Segoe MDL2 以获取那些花哨的图标时,按钮显示垃圾。

<mmppf:MediaPlayer x:Name="mediaElement">

...

<Button Name="btnPlay"
Style="{StaticResource transportStyle}" Content="{Binding CanPause, ElementName=mediaElement, Converter={StaticResource CanPauseToPlayPauseConverter}}"/>

这是来自转换器:
public object Convert(object value, Type targetType, object parameter, string language)
{
bool canPause = (bool)value;
if (canPause)
return @"&#xE769;";
// "play"
return "&#xE102;";
}

...这来自按钮样式:
<Style x:Name="transportStyle"  TargetType="Button">
<!-- <Setter Property="FontFamily" Value="Segoe MDL2 Assets" />-->
</Style>

禁用 Setter 属性后,按钮显示预期值
&#xE102;

其中,直接设置为按钮内容,显示播放符号。

任何想法为什么这不起作用?

编辑:从字符表中复制字符并返回它确实有效。

最佳答案

&#xE102;是 XML 中的 unicode 字符转义序列(因此也在 XAML 中)。在 C# 中,它被写为 \uE102 .
所以转换器应该返回带有正确 C# unicode 字符转义序列的字符串(或字符):

public object Convert(object value, Type targetType, object parameter, string language)
{
return (bool)value ? "\uE769" : "\uE102";
}

关于xaml - 绑定(bind)后转换器返回 Segoe MDL2 图标不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217622/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com