我正在尝试将PlayerFramework.MediaPlayer.CanPause属性绑定到我的Windows 10通用应用程序中的按钮.这可以使用默认字体,但是当我切换到Segoe MDL2来获取那些花哨的图标时,按钮显示垃圾.
<mmppf:MediaPlayer x:Name="mediaElement">
...
<Button Name="btnPlay"
Style="{StaticResource transportStyle}" Content="{Binding CanPause, ElementName=mediaElement, Converter={StaticResource CanPauseToPlayPauseConverter}}"/>
Run Code Online (Sandbox Code Playgroud)
这是来自转换器:
public object Convert(object value, Type targetType, object parameter, string language)
{
bool canPause = (bool)value;
if (canPause)
return @"";
// "play"
return "";
}
Run Code Online (Sandbox Code Playgroud)
...来自按钮样式:
<Style x:Name="transportStyle" TargetType="Button">
<!-- <Setter Property="FontFamily" Value="Segoe MDL2 Assets" />-->
</Style>
Run Code Online (Sandbox Code Playgroud)
禁用Setter属性后,该按钮显示预期值

Run Code Online (Sandbox Code Playgroud)
其中,直接设置为按钮内容,显示播放符号.
任何想法为什么这不起作用?
编辑:从字符表中复制字符并返回它确实有效.
Cle*_*ens 11

是XML中的unicode字符转义序列(因此也在XAML中).在C#中,它被写为\uE102
.
所以转换器应该使用适当的C#unicode字符转义序列返回字符串(或字符):
public object Convert(object value, Type targetType, object parameter, string language)
{
return (bool)value ? "\uE769" : "\uE102";
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2129 次 |
最近记录: |