美文网首页WPF技术精选案例
WPF动态加载(绑定)矢量图标

WPF动态加载(绑定)矢量图标

作者: Gxiner | 来源:发表于2020-05-22 19:19 被阅读0次
    QQ图片20200522191842.png

    //转换输入字符串中的任何转义字符。
    System.Text.RegularExpressions.Regex.Unescape(s)
    //通过替换为转义码来转义最小的字符集(\、*、+、?、|、{、[、(、)、^、$、.、# 和空白)。
    //这将指示正则表达式引擎按原义解释这些字符而不是解释为元字符。
    System.Text.RegularExpressions.Regex.Escape(s)

    XAML中使用Converter对值进行处理
    <StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
      <TextBlock Text="{Binding Path=Authority_icon,Converter={x:Static local:ConverterUtil.StringToIconConverter}}" Style="{StaticResource IconStyle}"/>
    </StackPanel>
    
    Converter中把值String转义
    public class StringToIconConverter : IValueConverter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                if (value != null)
                {
                    return Regex.Unescape(StringToUnicode(value.ToString()));
                }
                return value;
            }
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                throw new NotImplementedException();
            }
    
            /// <summary>  
            /// 字符串转为UniCode码字符串  
            /// </summary>  
            public static string StringToUnicode(string s)
            {
                if (!string.IsNullOrEmpty(s))
                {
                    //这里把格式&#xe625; 转为 \ue625
                    return s.Replace(@"&#x",@"\u").Replace(";","");
                }
                return s;
            }
        }
    
    Style
    <!--IconStyle-->
        <Style x:Key="IconStyle" TargetType="TextBlock">
            <Setter Property="FontFamily" Value="/Framework;component/Fonts/#iconfont"></Setter>
            <Setter Property="TextAlignment" Value="Center"/>
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="FontSize" Value="16"/>
        </Style>
    

    相关文章

      网友评论

        本文标题:WPF动态加载(绑定)矢量图标

        本文链接:https://www.haomeiwen.com/subject/piecahtx.html