如何在数据绑定对象中使用XAML HexNumbers for Windows Store App图标(Segoe UI Symbol)?

时间:2012-12-27 06:15:27

标签: windows xaml microsoft-metro

我有一个基本的DataTemplate,我用它来绑定暴露几个属性的基本对象。这些项目显示在ItemList中。我正在尝试确保绑定到Icon的TextBlock显示类似于的符号,该符号将存储在对象的Icon属性中。

<DataTemplate x:Key="Action180x180ItemTemplate">
    <Grid HorizontalAlignment="Left" Width="180" Height="180">
        <Border Background="OliveDrab">
            <TextBlock Text="{Binding Icon}" FontFamily="Segoe UI Symbol" FontSize="72" Padding="0,20,0,0" TextAlignment="Center" />
        </Border>
        <StackPanel VerticalAlignment="Bottom" Background="DarkOliveGreen">
            <TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="30" Margin="15,0,15,0"/>
        </StackPanel>
    </Grid>
</DataTemplate>

问题是当执行代码时,不显示符号,而是显示原始值。有没有人知道如何从绑定字段中显示符号(最好不要将Icon属性从String更改为其他内容)?

2 个答案:

答案 0 :(得分:13)

要在XAML中直接编写unicode字符,请使用以下格式: 的&安培; #x中 十六进制编码

要在字符串中存储unicode字符,请使用以下格式: 的 “\Ú 十六进制编码

答案 1 :(得分:0)

您可以在c#字符串中使用Unicode字符转义序列来实现绑定。如下所示:

DataContext = new { Icon = "\uE0C8", Title = "My Title" };

有关详细信息,请参阅Unicode character escape sequences