wpf 如何在XAML中放置Unicode字符?

wkyowqbh  于 2022-11-18  发布在  其他
关注(0)|答案(6)|浏览(317)

我正在努力做到这一点:

<TextBlock Text="{Binding Path=Text, 
                          Converter={StaticResource stringFormatConverter}, 
                          ConverterParameter='&\u2014{0}'}" />

让一个-出现在文本前面。它不起作用。我应该在这里做什么?

qoefvg9y

qoefvg9y1#

由于XAML是一种XML文件格式,您可以尝试使用XML字符转义。因此,您可以编写&#x2014;来代替&\u2014

c6ubokkw

c6ubokkw2#

在xaml中,我是这样做的:

<Button Grid.Column="1" Grid.RowSpan="2" Name="start" Margin="5" Click="start_Click">
        <TextBlock Name="test" FontFamily="pack://application:,,,/Y_Yoga;Component/Resources/#FontAwesome">&#xF04B;</TextBlock>
    </Button>

希望对大家有所帮助!

wi3ka0sx

wi3ka0sx3#

我来到这个页面的一些其他原因,但这不包括最简单和明显的解决方案。
这就是我的工作
使用所有Unicode值维护静态类别。

public static class Icons
{
    public const string IconName = "\u2014";
}

然后把它绑在你需要的地方。

<TextBlock Text="{x:Static resources:Icons.IconName}" FontFamily="..."/>

这也可以帮助您进行维护,所有图标都将在一个地方进行管理。

f0brbegy

f0brbegy4#

From Microsoft documentation
在Microsoft Visual Studio中创建的标记文件会自动以Unicode UTF-8文件格式保存,这意味着大多数特殊字符(如重音符号)的编码都是正确的。但是,有一组常用的特殊字符的处理方式不同。这些特殊字符遵循万维网联合会(W3C)XML编码标准。
这意味着你可以随心所欲地做zalgo

相关代码:

<Label Grid.Column="0" Grid.Row="3" FontWeight="ExtraBlack">STAGE:M&#x363;&#x36d;&#x363;&#x33e;  V&#x363;&#x365;&#x36d;&#x35b;&#x364;&#x36e;&#x365;&#x368;&#x365;&#x367;&#x33e;</Label>
gpfsuwkq

gpfsuwkq5#

将文件保存为UTF-8格式。在Visual Studio中,您可以通过“文件”→“高级保存选项”来完成此操作。

xam8gpfp

xam8gpfp6#

WPF/XAML中的UTF-32语法如下所示: &#x000F1B0A;

<TextBlock Text="foo &#x000F1B0A; bar"
           FontFamily="Material Design Icons" />

此示例使用Material Design Icons桌面字体(字形转储here

相关问题