我在带有Segoe UI符号作为其内容的WPF项目中具有按钮。当我直接在XAML中设置符号或在C#中定义符号并将其绑定到XAML中时,此方法将起作用。当我从数据库中获取符号并将其绑定到XAML中时,我总是获得显式值而不是符号:
<!-- Directly in XAML: works -->
<TextBlock Text="" 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;
\uE10F
\\uE10F
-->
这将是数据库(Sybase)问题,还是在XAML中有解决此问题的方法?
我通过使用以下方法转换ViewModel中的图标来解决此问题
icon.Icon = System.Text.RegularExpressions.Regex.Unescape(icon.Icon);
这会将图标(作为字符串存储在数据库中)转换为Unicode字符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句