WPF 制作vs2019样式图标

图标的获取:微软官网下载
https://www.microsoft.com/en-my/download/details.aspx?id=35825
解压缩后,可以查看里面每个文件夹的xaml文件。

习惯写后台代码的:

public void Draw_Icon(Canvas obj,Point point,Size size,string[] geometry, string[] color)
        {
            DrawingGroup drawingGroup = new DrawingGroup();
            for (int i = 0; i < geometry.Length; i++)
            {
                GeometryDrawing geometrysDrawing = new GeometryDrawing();
                geometrysDrawing.Brush = new SolidColorBrush((Color)ColorConverter.ConvertFromString(color[i]));
                geometrysDrawing.Geometry = (Geometry)TypeDescriptor.GetConverter(typeof(Geometry)).ConvertFrom(geometry[i]);
                drawingGroup.Children.Add(geometrysDrawing);
            }

            DrawingBrush drawingBrush = new DrawingBrush();
            drawingBrush.Drawing = drawingGroup;

            Rectangle rectangle = new Rectangle()
            {
                Width = size.Width,
                Height = size.Height,
            };
            rectangle.Fill = drawingBrush;

            Canvas.SetLeft(rectangle, point.X);
            Canvas.SetTop(rectangle, point.Y);
            obj.Children.Add(rectangle);
        }

调用:

public MainWindow()
        {
            InitializeComponent();

            string[] sData = new string[]
            {
              "F1M16,16L0,16 0,0 16,0z",
              "F1M0,-0.000199999999999534L0,15.9998 6,15.9998 6,14.9998 16,14.9998 16,10.9998 6,10.9998 6,9.9998 16,9.9998 16,5.9998 6,5.9998 6,4.9998 16,4.9998 16,0.9998 6,0.9998 6,-0.000199999999999534z",
              "F1M15,4L7,4 7,2 15,2z",
              "F1M7,12L15,12 15,14 7,14z",
              "F1M7,7L15,7 15,9 7,9z",
              "F1M4,4L2,4 2,2 4,2z M1,5L5,5 5,1 1,1z",
              "F1M4,9L2,9 2,7 4,7z M1,10L5,10 5,6 1,6z",
              "F1M4,14L2,14 2,12 4,12z M1,15L5,15 5,11 1,11z",
              "F1M4,12L2,12 2,14 4,14z M4,7L2,7 2,9 4,9z M4,4L2,4 2,2 4,2z",
            };
            string[] dColor = new string[]
            {
              "#00FFFFFF", "#FFF6F6F6", "#FF424242","#FF424242","#FF424242","#FF1AA1E2","#FF1AA1E2","#FF1AA1E2", "#FFEFEFF0",
            };

            Draw_Icon(mainBox, new Point(100d, 100d), new Size(64, 64), sData, dColor);
        }

习惯写前台代码的:

<!-- This file was generated by the AiToXaml tool.-->
<!-- Tool Version: 14.0.22307.0 -->
<Viewbox Width="16" Height="16" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <Rectangle Width="16" Height="16">
    <Rectangle.Fill>
      <DrawingBrush>
        <DrawingBrush.Drawing>
          <DrawingGroup>
            <DrawingGroup.Children>
              <GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
              <GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M0,-0.000199999999999534L0,15.9998 6,15.9998 6,14.9998 16,14.9998 16,10.9998 6,10.9998 6,9.9998 16,9.9998 16,5.9998 6,5.9998 6,4.9998 16,4.9998 16,0.9998 6,0.9998 6,-0.000199999999999534z" />
              <GeometryDrawing Brush="#FF424242" Geometry="F1M15,4L7,4 7,2 15,2z" />
              <GeometryDrawing Brush="#FF424242" Geometry="F1M7,12L15,12 15,14 7,14z" />
              <GeometryDrawing Brush="#FF424242" Geometry="F1M7,7L15,7 15,9 7,9z" />
              <GeometryDrawing Brush="#FF1AA1E2" Geometry="F1M4,4L2,4 2,2 4,2z M1,5L5,5 5,1 1,1z" />
              <GeometryDrawing Brush="#FF1AA1E2" Geometry="F1M4,9L2,9 2,7 4,7z M1,10L5,10 5,6 1,6z" />
              <GeometryDrawing Brush="#FF1AA1E2" Geometry="F1M4,14L2,14 2,12 4,12z M1,15L5,15 5,11 1,11z" />
              <GeometryDrawing Brush="#FFEFEFF0" Geometry="F1M4,12L2,12 2,14 4,14z M4,7L2,7 2,9 4,9z M4,4L2,4 2,2 4,2z" />
            </DrawingGroup.Children>
          </DrawingGroup>
        </DrawingBrush.Drawing>
      </DrawingBrush>
    </Rectangle.Fill>
  </Rectangle>
</Viewbox>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值