在XAML中绑定数据库中的字体符号

时间:2015-02-13 10:06:58

标签: wpf xaml sybase

我在WPF项目中有按钮,其中包含Segoe UI符号作为其内容。当我在XAML中直接设置符号或在C#中定义符号并在XAML中绑定它时,这是有效的。当我从数据库中获取符号并将其绑定到XAML中时,我总是得到显式值而不是符号:

<!-- Directly in XAML: works -->
<TextBlock Text="&#xE10F;" FontFamily="Segoe UI Symbol"></TextBlock>

<!-- Define in C# (Icon = "\uE10F") and bind in XAML: works -->
<TextBlock Text="{Binding Icon}" FontFamily="Segoe UI Symbol"></TextBlock>

<!-- Getting any of these values from the database: doesn't work 
     &#xE10F;
     &amp;#xE10F;
     \uE10F
     \\uE10F
-->

这是一个数据库(Sybase)问题还是有办法在XAML中解决这个问题?

1 个答案:

答案 0 :(得分:0)

我通过使用

转换ViewModel中的图标来修复此问题
icon.Icon = System.Text.RegularExpressions.Regex.Unescape(icon.Icon);

这会将图标(存储为数据库中的字符串)转换为Unicode字符。