图标的获取:微软官网下载
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>