Files
DevToolsAvalonia/常用工具集/ViewModels/MainViewViewModel.cs
2025-08-26 08:37:44 +08:00

366 lines
78 KiB
C#

using Avalonia.Controls;
using Avalonia.Media;
using Avalonia.Platform;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using Ursa.Controls;
using .Base;
namespace .ViewModels
{
public partial class MainViewViewModel : ViewModelBase
{
public Dictionary<string, UserControl> PageDict { get; set; } = new Dictionary<string, UserControl>();
public UserControl ContentPage { get; set; }
private MenuItem _selectedMenuItem;
public MenuItem SelectedMenuItem
{
get
{
return _selectedMenuItem;
}
set
{
if (_selectedMenuItem != value)
{
_selectedMenuItem = value;
NotifyPropertyChanged();
//选的是哪个
if (!MenuHeaderList.Contains(value.Header))
{
return;
}
//是否已存在
if (!PageDict.ContainsKey(value.Header))
{
//这里用判断
UserControl userControl = GetPage(value.Header);
PageDict.Add(value.Header, userControl);
ContentPage = PageDict[value.Header];
return;
}
//已存在,判断当前页面是否为当前菜单项的页面
if (ContentPage == PageDict[value.Header])
{
return;
}
ContentPage = PageDict[value.Header];
}
}
}
public ObservableCollection<MenuItem> MenuItems { get; set; } = new ObservableCollection<MenuItem>();
private List<string> MenuHeaderList = new List<string>();
public MainViewViewModel()
{
//二级菜单
ObservableCollection<MenuItem> plcCommList = new ObservableCollection<MenuItem>();
plcCommList.Add(new MenuItem { Header = "倍福ADS调试", IconPath = StreamGeometry.Parse("M156.7,1H43.3C19.4,1,0,20.4,0,44.3c0,0,0,0,0,0v112.3C0,180.6,19.4,200,43.3,200l0,0h113.3c23.9,0,43.3-19.4,43.3-43.3l0,0 V44.3C200,20.4,180.6,1,156.7,1C156.7,1,156.7,1,156.7,1z M67.4,118.5L63,105.7H42l-4.5,12.8H25.8l19.3-51.6h15.2l19.1,51.6 L67.4,118.5z M126.3,105.1c-5.2,17-27.3,12.9-41,13.3V66.8c10.6,0.7,27.4-2.5,36,4.8C129.3,78.7,129.3,95.4,126.3,105.1z M166.9,115.2c-5.8,5.4-22.1,4.4-30.3,2.1v-9.9c7.3,2.6,30.6,5.4,21.9-8.5c-5.2-3.6-14.4-3.1-18.9-7.8c-12-22.1,11.3-29.1,29.2-23.1 v9.3c-6.6-2.3-27-4.7-19.6,7.4c5.7,3.3,15.1,3.1,19.4,8.3C173.2,98.7,172.4,110.7,166.9,115.2z M52.1,75.7l-6.9,19.6h14.4L53,75.7H52.1z M112.9,78.5c-3.9-4.1-11-3-16.3-3.2v32.4c5.4-0.1,12.5,0.9,16.4-3.3C117.8,98.1,117.8,84.7,112.9,78.5z") });
plcCommList.Add(new MenuItem { Header = "三菱MC协议", IconPath = StreamGeometry.Parse("M485.496 153.83L336.221 388.613a32 32 0 0 0 0 34.339l149.275 234.78c12.573 19.775 41.435 19.775 54.008 0l149.275-234.78a32 32 0 0 0 0-34.339L539.504 153.831c-12.573-19.775-41.435-19.775-54.008 0z m311.337 454.732H512.5c-25.552 0-40.798 28.474-26.633 49.74L628.035 871.74A32 32 0 0 0 654.667 886H939c25.552 0 40.798-28.473 26.633-49.74L823.465 622.823a32 32 0 0 0-26.632-14.26z m-284.333 0H228.167a32 32 0 0 0-26.632 14.26L59.367 836.26C45.202 857.527 60.447 886 86 886h284.333a32 32 0 0 0 26.632-14.26l142.168-213.438c14.165-21.266-1.08-49.74-26.633-49.74z") });
plcCommList.Add(new MenuItem { Header = "MC-3E服务模拟", IconPath = StreamGeometry.Parse("M485.496 153.83L336.221 388.613a32 32 0 0 0 0 34.339l149.275 234.78c12.573 19.775 41.435 19.775 54.008 0l149.275-234.78a32 32 0 0 0 0-34.339L539.504 153.831c-12.573-19.775-41.435-19.775-54.008 0z m311.337 454.732H512.5c-25.552 0-40.798 28.474-26.633 49.74L628.035 871.74A32 32 0 0 0 654.667 886H939c25.552 0 40.798-28.473 26.633-49.74L823.465 622.823a32 32 0 0 0-26.632-14.26z m-284.333 0H228.167a32 32 0 0 0-26.632 14.26L59.367 836.26C45.202 857.527 60.447 886 86 886h284.333a32 32 0 0 0 26.632-14.26l142.168-213.438c14.165-21.266-1.08-49.74-26.633-49.74z") });
plcCommList.Add(new MenuItem { Header = "OPCUA调试", IconPath = StreamGeometry.Parse("M981.952 688.128c13.44 0 24.32 10.88 24.32 24.32v171.328a23.744 23.744 0 0 1-23.68 23.808 23.488 23.488 0 0 0-23.552 23.488v0.256l0.256 24.704a24.384 24.384 0 0 1-24.32 24.704H105.6a24.384 24.384 0 0 1-24.32-24l-0.512-25.216a24.384 24.384 0 0 0-24.384-23.936H55.36a24.384 24.384 0 0 1-24.32-24.384v-170.688c0-13.44 10.88-24.384 24.32-24.384h926.592z m-585.216 48.768H128.64a24.384 24.384 0 0 0-24.32 21.504l-0.128 2.88v48.768c0 12.352 9.28 22.72 21.568 24.192l2.816 0.192H396.8a24.384 24.384 0 0 0 24.192-21.568l0.192-2.816v-48.768c0-13.44-10.88-24.384-24.32-24.384z m219.456 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768c0-13.44-10.88-24.384-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768c0-13.44-10.88-24.384-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768c0-13.44-10.88-24.384-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768c0-13.44-10.88-24.384-24.384-24.384zM981.952 54.144c13.44 0 24.32 10.88 24.32 24.32v488.32a23.744 23.744 0 0 1-23.68 23.808 23.424 23.424 0 0 0-23.424 23.36v1.024a24 24 0 0 1-20.736 24.128l-2.816 0.256H105.408a24.384 24.384 0 0 1-24.384-23.744v-1.28a24.384 24.384 0 0 0-24.448-23.744H55.36a24.384 24.384 0 0 1-24.32-24.384v-487.68c0-13.44 10.88-24.384 24.32-24.384h926.592zM292.672 284.416c-66.88 0-112.96 47.808-112.96 130.048 0 81.92 46.08 132.096 112.96 132.096S405.76 496.384 405.76 414.464s-46.08-130.048-113.024-130.048z m494.976 0c-63.808 0-117.44 48.832-117.44 132.096 0 84.352 51.904 130.048 115.712 130.048 32.832 0 59.776-12.928 80.64-37.184l-26.688-31.36c-13.632 14.656-30.72 24.896-52.224 24.896-39.936 0-65.92-33.152-65.92-88.064 0-54.336 28.736-87.04 66.944-87.04 19.136 0 33.792 8.832 46.464 21.12l26.624-32.064a103.04 103.04 0 0 0-74.112-32.448z m-249.536 4.8H455.168v252.608h50.56V452.032h33.728c54.336 0 97.664-25.92 97.664-83.648 0-59.712-43.008-79.168-99.008-79.168z m-245.44 38.528c37.568 0 61.44 32.448 61.44 86.72 0 53.952-23.872 88.448-61.44 88.448s-61.44-34.496-61.44-88.448c0-54.272 23.872-86.72 61.44-86.72z m241.664 1.408c34.816 0 53.312 9.856 53.312 39.232 0 29.056-16.768 43.712-51.584 43.712h-30.4V329.152h28.672zM396.8 102.912H128.64a24.384 24.384 0 0 0-24.32 21.504l-0.128 2.88v48.768c0 12.352 9.28 22.784 21.568 24.192l2.816 0.192H396.8a24.384 24.384 0 0 0 24.192-21.568l0.192-2.816v-48.768a24.384 24.384 0 0 0-24.32-24.384z m219.456 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768a24.384 24.384 0 0 0-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768a24.384 24.384 0 0 0-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768a24.384 24.384 0 0 0-24.384-24.384z m97.536 0a24.384 24.384 0 0 0-24.192 21.504l-0.192 2.88v48.768a24.384 24.384 0 0 0 48.64 2.816l0.128-2.816v-48.768a24.384 24.384 0 0 0-24.384-24.384z") });
plcCommList.Add(new MenuItem { Header = "Modbus调试1", IconPath = StreamGeometry.Parse("M896 0H128C57.6 0 0 57.6 0 128v768c0 70.4 57.6 128 128 128h768c70.4 0 128-57.6 128-128V128c0-70.4-57.6-128-128-128z m44.8 940.8H83.2V83.2h851.2v857.6zM268.8 396.8c19.2 0 44.8-6.4 57.6-19.2l288 288c-12.8 19.2-19.2 38.4-19.2 57.6 0 57.6 44.8 102.4 102.4 102.4 57.6 0 102.4-44.8 102.4-102.4 0-57.6-44.8-102.4-102.4-102.4-19.2 0-44.8 6.4-57.6 19.2L352 358.4c12.8-19.2 19.2-38.4 19.2-57.6 0-57.6-44.8-102.4-102.4-102.4-57.6 0-102.4 44.8-102.4 102.4 6.4 51.2 51.2 96 102.4 96z m-38.4 396.8h172.8V627.2H230.4v166.4z m563.2-563.2H627.2v172.8h172.8V230.4z") });
plcCommList.Add(new MenuItem { Header = "Modbus调试2", IconPath = StreamGeometry.Parse("M896 0H128C57.6 0 0 57.6 0 128v768c0 70.4 57.6 128 128 128h768c70.4 0 128-57.6 128-128V128c0-70.4-57.6-128-128-128z m44.8 940.8H83.2V83.2h851.2v857.6z m-672-544c19.2 0 44.8-6.4 57.6-19.2l288 288c-12.8 19.2-19.2 38.4-19.2 57.6 0 57.6 44.8 102.4 102.4 102.4 57.6 0 102.4-44.8 102.4-102.4 0-57.6-44.8-102.4-102.4-102.4-19.2 0-44.8 6.4-57.6 19.2L352 358.4c12.8-19.2 19.2-38.4 19.2-57.6 0-57.6-44.8-102.4-102.4-102.4-57.6 0-102.4 44.8-102.4 102.4 6.4 51.2 51.2 96 102.4 96z m-38.4 396.8h172.8V627.2H230.4v166.4z m563.2-563.2H627.2v172.8H800V230.4z") });
plcCommList.Add(new MenuItem { Header = "ModbusTCP服务", IconPath = StreamGeometry.Parse("M224 160a64 64 0 0 0-64 64v192a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64H224z m400 96a16 16 0 0 0-16 16v96a16 16 0 1 0 32 0v-96a16 16 0 0 0-16-16z m80 16a16 16 0 1 1 32 0v96a16 16 0 1 1-32 0v-96zM224 544a64 64 0 0 0-64 64v192a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V608a64 64 0 0 0-64-64H224z m80 96a16 16 0 0 0-16 16v96a16 16 0 1 0 32 0v-96a16 16 0 0 0-16-16z m80 16a16 16 0 1 1 32 0v96a16 16 0 1 1-32 0v-96z") });
plcCommList.Add(new MenuItem { Header = "西门子PLC调试", IconPath = StreamGeometry.Parse("M955.733333 0H68.266667C30.72 0 0 30.72 0 68.266667v887.466666c0 37.546667 30.72 68.266667 68.266667 68.266667h887.466666c37.546667 0 68.266667-30.72 68.266667-68.266667V68.266667c0-37.546667-30.72-68.266667-68.266667-68.266667z m-320.853333 764.586667c-44.373333 27.306667-102.4 40.96-170.666667 40.96-58.026667 0-119.466667-6.826667-177.493333-20.48v-112.64c64.853333 20.48 122.88 30.72 174.08 30.72 68.266667 0 102.4-17.066667 102.4-54.613334 0-13.653333-3.413333-23.893333-13.653333-34.133333-10.24-10.24-37.546667-23.893333-78.506667-40.96-75.093333-30.72-126.293333-58.026667-150.186667-78.506667-34.133333-34.133333-47.786667-71.68-47.786666-116.053333 0-58.026667 20.48-98.986667 64.853333-129.706667 44.373333-30.72 98.986667-44.373333 167.253333-44.373333 37.546667 0 92.16 6.826667 163.84 20.48v109.226667c-54.613333-20.48-102.4-30.72-150.186666-30.72-64.853333 0-95.573333 17.066667-95.573334 54.613333 0 13.653333 6.826667 23.893333 20.48 34.133333 10.24 6.826667 40.96 20.48 88.746667 44.373334 71.68 30.72 116.053333 58.026667 139.946667 81.92 27.306667 27.306667 40.96 61.44 40.96 105.813333 3.413333 58.026667-23.893333 105.813333-78.506667 139.946667z") });
plcCommList.Add(new MenuItem { Header = "欧姆龙Fins调试", IconPath = StreamGeometry.Parse("M421.4784 0h214.2208c232.2432 64.3072 416.1536 287.9488 398.1312 533.7088-9.4208 241.2544-201.9328 446.464-436.224 490.2912H462.848C222.8224 1000.2432 22.9376 800.768 0 560.3328v-133.5296C42.5984 217.088 207.2576 37.6832 421.4784 0m4.5056 231.0144c-199.8848 56.5248-274.432 341.6064-115.0976 482.0992 148.6848 165.4784 448.512 70.0416 487.8336-144.1792 53.6576-208.0768-170.3936-412.0576-372.736-337.92zM3537.7152 0h227.328c231.424 65.1264 410.4192 289.1776 394.8544 533.2992C4152.1152 778.24 3952.2304 987.5456 3712.6144 1024H3579.904c-214.6304-30.3104-405.504-194.1504-443.5968-410.8288C3071.1808 341.1968 3266.9696 54.4768 3537.7152 0m40.5504 224.0512c-211.7632 36.864-305.5616 331.3664-148.6848 480.4608 135.5776 163.0208 421.0688 98.7136 484.5568-99.9424 86.4256-202.3424-126.976-436.224-335.872-380.5184zM4803.7888 0h22.9376c110.1824 61.0304 160.1536 176.5376 211.3536 285.0816v711.0656c-77.4144-17.6128-196.608 24.1664-244.5312-53.6576-14.336-224.4608 43.4176-460.3904-18.0224-679.936-104.8576-58.9824-234.7008-26.624-350.208-34.4064-2.8672 256.4096-1.2288 513.2288-1.6384 769.6384-75.776 0.4096-151.552 0.8192-227.328 0.8192-1.6384-329.3184 0-658.6368-0.8192-987.5456 208.4864 0 417.3824-7.7824 625.4592 9.8304-4.5056-5.3248-13.1072-15.5648-17.2032-20.8896zM1066.5984 15.5648C1325.8752 3.6864 1585.9712 13.1072 1845.6576 9.8304c105.2672-6.5536 216.6784 28.2624 280.9856 115.9168 87.6544 102.4 68.4032 244.1216 70.4512 368.64-4.096 168.7552 7.3728 338.3296-7.3728 507.0848-74.1376 0.4096-148.2752-4.5056-222.0032-2.4576-3.6864-235.52 11.8784-471.8592-7.3728-706.1504-36.4544-83.5584-140.9024-50.7904-212.1728-61.0304 3.2768 253.5424 1.2288 507.0848 5.3248 760.6272-77.824 7.3728-156.0576 8.6016-234.2912 6.5536 2.048-255.1808 5.3248-510.3616 3.2768-765.5424-73.728 0.4096-147.456-0.4096-221.184-0.4096 0 253.5424-4.096 506.6752 2.4576 759.808-78.2336 7.3728-157.2864 9.8304-235.52 0.4096 2.048-326.0416 4.5056-651.6736-1.6384-977.7152z M2265.4976 10.6496c185.1392 2.8672 371.0976-7.7824 556.2368 4.096 172.4416 14.7456 314.9824 184.32 289.9968 357.9904-4.096 119.1936-78.2336 220.3648-175.3088 283.8528 72.9088 116.3264 156.0576 224.8704 231.424 339.5584-99.9424 2.8672-199.8848 2.8672-299.8272 2.048-113.0496-174.4896-242.8928-337.92-349.7984-516.096 97.8944-2.8672 197.4272 10.6496 294.0928-8.6016 97.8944-34.4064 106.9056-189.6448 7.7824-227.328-106.496-27.4432-217.9072-15.9744-326.4512-18.0224 0 256.4096-0.4096 512.8192 0.4096 769.6384-75.776-0.8192-151.9616 2.048-227.328 1.2288-2.4576-329.3184-0.4096-659.0464-1.2288-988.3648z") });
plcCommList.Add(new MenuItem { Header = "串口调试工具", IconPath = StreamGeometry.Parse("M242.3 467c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7-0.1 17.3-14.6 31.8-31.8 31.8zM376.7 467c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7-0.1 17.3-14.6 31.8-31.8 31.8zM511 467c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7 0 17.3-14.5 31.8-31.8 31.8zM645.4 467c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7 0 17.3-14.6 31.8-31.8 31.8zM779.8 467c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7 0 17.3-14.6 31.8-31.8 31.8z M309.5 621.8c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7-0.1 17.2-14.6 31.8-31.8 31.8zM443.9 621.8c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7-0.1 17.2-14.6 31.8-31.8 31.8zM578.2 621.8c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7s-14.6 31.8-31.8 31.8zM712.6 621.8c-17.5 0-31.7-14.3-31.7-31.8s14.2-31.7 31.7-31.7c17.2 0 31.8 14.5 31.8 31.7s-14.6 31.8-31.8 31.8z M789.3 761H220.5C149.2 761 87.2 717.6 73 647.8L25 418.2c-7.8-38.2 1.9-77.4 26.6-107.6 24.7-30.2 61.2-47.5 100.2-47.5h720.5c38.9 0 75.3 17.2 100 47.2 24.7 30 34.5 69.1 27 107.2l-62.5 230.4C923 717.3 861 761 789.3 761zM151.8 294.1c-29.6 0-57.4 13.2-76.1 36.1-18.8 23-26.2 52.8-20.3 81.8l48.1 229.6c11.2 55.4 60.4 88.3 116.9 88.3h568.9c56.8 0 106.1-33.2 117.1-88.9l62.5-230.4c5.5-28-2-57.7-20.7-80.5-18.8-22.8-46.4-35.9-76-35.9H151.8z") });
plcCommList.Add(new MenuItem { Header = "Socket调试", IconPath = StreamGeometry.Parse("M110.101333 457.130667h63.872c0-28.138667-6.677333-48.64-20.010666-61.482667-13.333333-12.842667-34.922667-19.264-64.768-19.264-28.885333 0-50.410667 6.976-64.597334 20.906667-14.208 13.952-21.290667 34.261333-21.290666 60.949333 0 15.402667 2.624 27.882667 7.893333 37.418667 5.248 9.557333 11.861333 17.258667 19.818667 23.125333 7.957333 5.888 16.576 10.666667 25.877333 14.314667 9.301333 3.669333 17.92 7.274667 25.877333 10.837333 7.936 3.541333 14.549333 7.829333 19.818667 12.842667 5.248 5.013333 7.893333 11.797333 7.893333 20.373333 0 7.082667-1.92 13.077333-5.696 17.984-3.797333 4.906667-9.237333 7.338667-16.341333 7.338667a20.928 20.928 0 0 1-16.149333-6.784c-4.16-4.544-6.229333-12.416-6.229334-23.68v-6.250667H0v9.173333c0 13.717333 1.962667 25.216 5.866667 34.517334 3.925333 9.301333 9.6 16.810667 17.066666 22.570666 7.466667 5.76 16.64 9.792 27.52 12.117334 10.901333 2.325333 23.445333 3.477333 37.632 3.477333 30.08 0 53.098667-6.293333 68.992-18.901333 15.914667-12.586667 23.872-32.853333 23.872-60.736 0-15.914667-2.773333-28.8-8.256-38.72a73.728 73.728 0 0 0-20.736-24.042667 119.658667 119.658667 0 0 0-26.794666-14.869333 782.762667 782.762667 0 0 1-26.794667-11.2 76.138667 76.138667 0 0 1-20.736-13.013334c-5.504-5.034667-8.256-11.818667-8.256-20.373333 0-5.888 1.706667-11.2 5.12-15.978667 3.434667-4.757333 8.810667-7.146667 16.149333-7.146666 6.613333 0 11.52 2.752 14.698667 8.256 3.178667 5.504 4.757333 12.16 4.757333 19.989333v6.250667z m152.32 87.36c0-12.48 0.256-22.762667 0.725334-30.848 0.490667-8.064 1.493333-14.421333 2.944-19.072 1.472-4.650667 3.370667-7.829333 5.696-9.557334 2.325333-1.706667 5.333333-2.56 8.981333-2.56 3.669333 0 6.741333 0.853333 9.173333 2.56 2.453333 1.706667 4.352 4.906667 5.696 9.557334 1.344 4.650667 2.261333 11.008 2.773334 19.072 0.469333 8.085333 0.725333 18.346667 0.725333 30.848 0 12.48-0.256 22.677333-0.746667 30.634666a90.752 90.752 0 0 1-2.752 18.901334c-1.344 4.650667-3.242667 7.829333-5.696 9.536a15.616 15.616 0 0 1-9.173333 2.56 14.784 14.784 0 0 1-8.981333-2.56c-2.346667-1.706667-4.224-4.885333-5.696-9.536a81.792 81.792 0 0 1-2.944-18.901334 517.888 517.888 0 0 1-0.725334-30.634666z m102.762667 0c0-14.442667-0.789333-27.946667-2.389333-40.554667a85.781333 85.781333 0 0 0-10.816-33.216c-5.632-9.557333-14.08-17.066667-25.322667-22.592-11.264-5.504-26.56-8.256-45.866667-8.256-18.602667 0-33.493333 2.986667-44.608 9.002667-11.136 5.973333-19.626667 13.866667-25.514666 23.68-5.866667 9.770667-9.728 20.906667-11.562667 33.386666a262.016 262.016 0 0 0-2.752 38.186667c0 14.421333 0.810667 27.946667 2.389333 40.533333 1.6 12.608 5.205333 23.616 10.837334 33.045334 5.610667 9.408 14.08 16.768 25.322666 22.016 11.242667 5.269333 26.538667 7.893333 45.866667 7.893333 18.602667 0 33.472-2.88 44.586667-8.618667 11.136-5.76 19.648-13.461333 25.514666-23.125333 5.888-9.664 9.728-20.736 11.562667-33.216 1.834667-12.48 2.773333-25.216 2.773333-38.186667z m119.296-21.653334h59.456c0-12.48-1.173333-23.808-3.498667-33.962666a64.106667 64.106667 0 0 0-12.096-26.048 56.874667 56.874667 0 0 0-23.125333-16.896c-9.664-4.032-21.845333-6.058667-36.522667-6.058667-12.48 0-24.106667 1.237333-34.88 3.669333-10.752 2.453333-20.117333 7.466667-28.074666 15.061334-7.936 7.573333-14.250667 18.474667-18.901334 32.661333-4.650667 14.186667-6.976 33.024-6.976 56.533333 0 21.525333 2.090667 38.826667 6.250667 51.925334 4.16 13.077333 9.962667 23.253333 17.429333 30.464 7.466667 7.210667 16.448 11.925333 26.986667 14.122666a170.517333 170.517333 0 0 0 34.858667 3.306667c28.16 0 48.448-6.613333 60.928-19.818667 6.357333-7.104 10.88-16.149333 13.589333-27.157333 2.688-11.008 4.032-24.341333 4.032-40H484.48v12.842667c0 12.48-1.664 21.034667-4.970667 25.685333-3.285333 4.650667-8 6.976-14.122666 6.976a15.68 15.68 0 0 1-9.365334-2.773333c-2.56-1.813333-4.586667-5.056-6.058666-9.706667a87.402667 87.402667 0 0 1-3.114667-18.901333 408.298667 408.298667 0 0 1-0.917333-30.293334c0-12.224 0.32-22.314667 0.917333-30.272 0.618667-7.957333 1.664-14.293333 3.114667-19.072 1.493333-4.778667 3.498667-8.085333 6.058666-9.92a15.68 15.68 0 0 1 9.386667-2.752c7.082667 0 11.968 2.816 14.656 8.448 1.472 3.178667 2.56 7.274667 3.306667 12.288 0.725333 5.013333 1.109333 11.562667 1.109333 19.626667z m339.84-82.965333c13.226667 0 24.789333 1.6 34.709333 4.778667 9.898667 3.2 18.218667 8.512 24.96 15.957333 6.72 7.466667 11.733333 17.258667 15.04 29.376 3.306667 12.096 4.949333 27.221333 4.949334 45.312v20.202667h-97.984v26.048c0 10.773333 1.834667 17.92 5.504 21.482666a17.493333 17.493333 0 0 0 12.48 5.333334c5.866667 0 10.453333-2.410667 13.76-7.168 3.306667-4.778667 4.949333-13.888 4.949333-27.349334h59.456c-0.490667 24.469333-6.72 42.88-18.709333 55.253334-11.989333 12.330667-31.701333 18.517333-59.093334 18.517333-15.914667 0-29.226667-1.770667-40-5.333333a54.485333 54.485333 0 0 1-26.069333-17.6c-6.613333-8.213333-11.306667-18.901333-14.122667-32.128-2.816-13.205333-4.224-29.226667-4.224-48.064 0-19.093333 1.578667-35.242667 4.778667-48.448 3.178667-13.226667 8.192-23.978667 15.04-32.298667 6.848-8.32 15.594667-14.378667 26.24-18.176 10.645333-3.797333 23.424-5.696 38.357333-5.696z m-197.802667-58.346667v132.117334h0.725334l36.693333-68.629334h70.485333l-55.04 81.856 62.016 116.693334h-70.485333l-33.386667-68.266667-11.008 17.28v50.986667H560.426667V381.546667h66.069333z m197.461334 98.730667c-6.848 0-11.562667 2.453333-14.144 7.338667-2.56 4.906667-3.84 12.586667-3.84 23.125333v8.810667h36.330666v-8.810667c0-10.517333-1.28-18.24-3.84-23.125333-2.581333-4.906667-7.424-7.338667-14.506666-7.338667z m85.866666-35.242667v44.416h22.037334v105.706667c0 11.008 1.024 19.882667 3.114666 26.602667 2.069333 6.72 5.376 11.797333 9.898667 15.232 4.544 3.413333 10.346667 5.568 17.450667 6.421333 7.082667 0.853333 15.658667 1.28 25.685333 1.28 5.632 0 11.498667-0.170667 17.621333-0.533333 6.122667-0.384 12.224-0.554667 18.346667-0.554667v-44.053333h-10.282667c-5.376 0-9.344-1.152-11.925333-3.477334-2.56-2.346667-3.84-6.314667-3.84-11.946666v-94.677334H1024V445.013333h-26.069333v-58.346666h-66.048v58.346666h-22.037334z") });
plcCommList.Add(new MenuItem { Header = "ModbusRTU", IconPath = StreamGeometry.Parse("M130.628267 0C58.260724 0 0 58.260724 0 130.628267v762.743466C0 965.739276 58.260724 1024 130.628267 1024h762.743466c72.367543 0 130.628267-58.260724 130.628267-130.628267V130.628267C1024 58.260724 965.739276 0 893.371733 0H130.628267z m54.481676 73.142857h653.780114C900.920076 73.142857 950.857143 123.080411 950.857143 185.109943v653.780114c0 62.030019-49.937067 111.967086-111.967086 111.967086H185.109943C123.080899 950.857143 73.142857 900.920076 73.142857 838.890057V185.109943C73.142857 123.080899 123.080411 73.142857 185.109943 73.142857z M170.666667 475.428571h682.666666v73.142858H170.666667z M304.742888 851.8656h-45.452922v-140.309943q0-8.013531-7.84189-8.013531-8.002316 0-8.002316 7.711207v140.612267H197.992838v-140.612267q0-8.014019-7.841889-8.014019-8.002316 0-8.002317 7.711208v140.915078h-45.451946V676.327619h45.451946v6.199101q9.442743-7.408884 28.328229-7.408884 15.844693 0 28.808046 11.944716 12.002743-11.944716 32.80896-11.944716 11.843291 0 22.245668 6.803749 10.403352 6.652587 10.403353 18.59779z m9.603169-34.624366v-105.080929q0-37.042956 54.253958-37.042956 20.966156 0 36.810362 8.618179 16.00512 8.618179 16.00512 26.913158v108.104655q0 35.531337-52.815482 35.531337-54.253958 0-54.253958-37.043444z m61.457067 1.210271v-107.500983q0-8.617691-7.842865-8.617692-8.001829 0-8.001829 8.617692v107.500495q0 8.920503 8.001829 8.920503 7.842865 0 7.842865-8.920015z m161.484312 33.414095h-34.409326l-3.841462-5.897265q-11.683352 8.316343-26.567437 8.316343-17.445059 0-29.768167-7.71072-12.163657-7.711208-12.163657-21.016868V699.460267q0-11.189394 9.602682-17.690332 9.762621-6.652587 23.526643-6.652586 18.885486 0 28.167802 6.501424v-46.568594h45.452922z m-45.452922-32.809448v-109.013089q0-7.710232-7.841889-7.710233-8.002316 0-8.002316 8.013044v108.709791q0 8.013531 8.002316 8.013531 7.84189 0 7.841889-8.013044z m93.626271 26.912183l-3.841463 5.897265h-34.409326V635.050667h45.452434v46.568594q8.162743-6.501425 28.327741-6.501425 12.323596 0 22.566035 6.349775 10.40384 6.199101 10.40384 17.993143v126.096823q0 13.305661-12.323596 21.016381-12.323109 7.711208-29.608229 7.711208-13.443657 0-26.567436-8.316343z m23.046339-26.912183v-108.70979q0-8.013531-7.84189-8.013532-8.002804 0-8.002804 7.710233v109.013089q0 8.013044 8.002804 8.013044 7.84189 0 7.84189-8.013044z m162.124556 32.809448h-45.451947v-5.897265q-8.802499 8.316343-28.167802 8.316343-13.444632 0-23.366704-6.652587-9.763109-6.803749-9.763109-17.690819v-153.614628h45.452922v142.729508q0 8.013044 8.001829 8.013044 7.842865 0 7.842864-7.711207v-143.030858h45.451947z m9.923048-70.608701h45.452922v37.194606q0 8.920015 7.68195 8.920015 7.682438 0 7.682438-17.084709 0-22.225676-9.44323-28.727588-35.690301-17.689844-43.051886-24.645242-7.361585-7.105585-7.361585-21.166568v-23.587108q0-37.042956 53.133897-37.042956 51.694446 0 51.694446 35.531337v34.62339h-44.491825l0.959635-21.016381q0-21.922865-8.481646-21.922865-8.483109 0-8.483109 13.75866 0 14.212145 3.681524 21.469866 3.840975 7.257234 41.931337 24.947078 15.844206 10.734933 15.844206 28.425265v26.307535q0 37.043444-53.934568 37.043444-52.814507 0-52.814506-35.531337zM411.060419 410.376777h-88.444343q-14.319909-10.368244-14.319908-58.810758v-0.339383l0.560762-14.616868q0.848457-30.425478 0.848457-31.106195 0-12.407467-27.515368-12.407466V410.038857H193.744213V166.295162H302.967467q37.342354 0 64.859184 10.369219 27.796724 10.368244 27.796724 32.804571v29.235688q0 28.38528-54.751329 38.413653 55.03171 7.818971 55.03171 40.283673l-1.408731 26.685927q0 58.471375 16.565394 66.289859z m-101.361371-159.775695v-40.113006q0-12.7488-27.51488-12.7488v65.77981q27.515368 0 27.515367-12.918004z m297.905981-52.521448H558.187276v211.95776H469.742933V198.079634H420.325669v-31.785447h187.278872z m16.284525-31.785447h88.444343v204.648838q0 7.308922 14.882133 7.308922 14.599314 0 14.599315-7.308435V166.294187h88.445805v201.759207q0 21.076846-28.920685 32.63488-28.920198 11.558522-74.124922 11.558522-41.836251 0-72.721554-10.368244-30.604434-10.368244-30.604435-33.4848z") });
ObservableCollection<MenuItem> netList = new ObservableCollection<MenuItem>();
netList.Add(new MenuItem { Header = "HTTP调试", IconPath = StreamGeometry.Parse("M946.939661 418.312678a23.170169 23.170169 0 0 0 23.100746-23.239593V116.197966c0-64.04339-51.781424-116.197966-115.486373-116.197966H115.477695C51.781424 0 0 52.154576 0 116.197966v790.154848c0 64.04339 51.781424 116.197966 115.477695 116.197966h739.076339c63.696271 0 115.477695-52.154576 115.477695-116.197966V766.915254a23.170169 23.170169 0 0 0-23.092068-23.239593 23.170169 23.170169 0 0 0-23.100746 23.239593v139.43756c0 38.44339-31.084475 69.71878-69.284881 69.718779H115.477695c-38.200407 0-69.284881-31.284068-69.284881-69.718779V232.395932h877.654779v162.677153a23.170169 23.170169 0 0 0 23.092068 23.239593zM46.192814 185.916746V116.197966c0-38.44339 31.084475-69.71878 69.284881-69.71878h739.076339c38.200407 0 69.293559 31.284068 69.293559 69.71878v69.71878H46.192814z m69.284881-46.479187a23.170169 23.170169 0 0 0 23.100746-23.239593 23.170169 23.170169 0 0 0-23.100746-23.239593 23.170169 23.170169 0 0 0-23.092068 23.239593 23.170169 23.170169 0 0 0 23.092068 23.239593z m92.385627 0a23.170169 23.170169 0 0 0 23.100746-23.239593 23.170169 23.170169 0 0 0-23.100746-23.239593 23.170169 23.170169 0 0 0-23.092068 23.239593 23.170169 23.170169 0 0 0 23.092068 23.239593z m92.385627 0a23.170169 23.170169 0 0 0 23.100746-23.239593 23.170169 23.170169 0 0 0-23.100746-23.239593 23.170169 23.170169 0 0 0-23.092068 23.239593 23.170169 23.170169 0 0 0 23.092068 23.239593zM254.056136 464.791864a23.170169 23.170169 0 0 1 23.100745 23.248272v185.916745a23.170169 23.170169 0 0 1-23.100745 23.239594 23.170169 23.170169 0 0 1-23.092068-23.239594v-69.718779H138.578441v69.718779a23.170169 23.170169 0 0 1-23.100746 23.239594 23.170169 23.170169 0 0 1-23.092068-23.239594V488.040136a23.170169 23.170169 0 0 1 23.092068-23.248272 23.170169 23.170169 0 0 1 23.100746 23.248272v69.718779h92.385627v-69.718779a23.170169 23.170169 0 0 1 23.092068-23.248272z m184.771254 0a23.170169 23.170169 0 0 1 23.100746 23.239594 23.170169 23.170169 0 0 1-23.100746 23.239593h-23.100746v162.68583a23.170169 23.170169 0 0 1-23.08339 23.239594 23.170169 23.170169 0 0 1-23.100746-23.239594V511.279729h-23.100745a23.170169 23.170169 0 0 1-23.100746-23.239593 23.170169 23.170169 0 0 1 23.100746-23.248272h92.385627z m184.771254 0a23.170169 23.170169 0 0 1 23.092068 23.248272 23.170169 23.170169 0 0 1-23.092068 23.239593h-23.100746v162.677152a23.170169 23.170169 0 0 1-23.092067 23.239594 23.170169 23.170169 0 0 1-23.100746-23.239594V511.279729h-23.092068a23.170169 23.170169 0 0 1-23.100746-23.239593 23.170169 23.170169 0 0 1 23.100746-23.248272H623.598644z m138.569763 0c38.209085 0 69.293559 31.284068 69.293559 69.71878 0 38.44339-31.084475 69.727458-69.293559 69.727458h-23.08339v69.718779a23.170169 23.170169 0 0 1-23.100746 23.239594 23.170169 23.170169 0 0 1-23.100746-23.239594V488.040136a23.170169 23.170169 0 0 1 23.100746-23.248272h46.184136z m0 92.958373c12.704542 0 23.100746-10.413559 23.100746-23.239593a23.204881 23.204881 0 0 0-23.100746-23.239593h-23.092068v46.479186h23.092068z m328.938305-92.255457a23.196203 23.196203 0 0 1 16.817898 28.168678l-46.192813 185.916745a23.048678 23.048678 0 0 1-27.995119 16.922034 23.196203 23.196203 0 0 1-16.80922-28.177356l46.184135-185.916745c3.054644-12.496271 15.429424-20.167593 27.995119-16.922034z m-92.385627 0a23.196203 23.196203 0 0 1 16.817898 28.168678l-46.192814 185.916745a23.048678 23.048678 0 0 1-27.995118 16.922034 23.196203 23.196203 0 0 1-16.80922-28.177356l46.192813-185.916745c3.037288-12.496271 15.377356-20.167593 27.986441-16.922034z m-97.974238 92.264135a23.170169 23.170169 0 0 1-23.092067-23.248271 23.170169 23.170169 0 0 1 23.092067-23.239593 23.170169 23.170169 0 0 1 23.100746 23.239593 23.170169 23.170169 0 0 1-23.100746 23.248271z m0 92.958373a23.170169 23.170169 0 0 1-23.092067-23.239593 23.170169 23.170169 0 0 1 23.092067-23.239593 23.170169 23.170169 0 0 1 23.100746 23.239593 23.170169 23.170169 0 0 1-23.100746 23.239593z") });
netList.Add(new MenuItem { Header = "FTP客户端", IconPath = StreamGeometry.Parse("M170.666667 597.333333v85.333334h170.666666v85.333333H170.666667v170.666667H85.333333V512h256v85.333333z m469.333333-85.333333H384v85.333333h85.333333v341.333334h85.333334V597.333333h85.333333z m170.666667 85.333333a42.666667 42.666667 0 0 1 0 85.333334h-42.666667v-85.333334h42.666667m0-85.333333h-128v426.666667h85.333333v-170.666667h42.666667a128 128 0 0 0 128-128 128 128 0 0 0-128-128zM725.333333 85.333333l213.333334 213.333334v170.666666h-85.333334v-135.253333L689.92 170.666667H170.666667v298.666666H85.333333V85.333333z") });
netList.Add(new MenuItem { Header = "FTP服务", IconPath = StreamGeometry.Parse("M718.116571 864.036571h115.053715a36.571429 36.571429 0 1 1 0 73.142858H191.268571a36.571429 36.571429 0 1 1 0-73.142858h134.802286l62.098286-146.285714h-203.337143a146.285714 146.285714 0 0 1-146.285714-146.285714V20.699429h800.548571a146.285714 146.285714 0 0 1 146.285714 146.285714v550.765714H450.121143a28.891429 28.891429 0 0 1-1.316572 3.949714l-60.416 142.336h256.950858l-53.101715-67.876571a28.672 28.672 0 1 1 45.202286-35.328l80.676571 103.204571z m-606.354285-770.194285v477.622857a73.142857 73.142857 0 0 0 73.142857 73.142857h727.332571v-477.622857a73.142857 73.142857 0 0 0-73.142857-73.142857H111.762286z m149.942857 410.624H206.994286V233.691429h146.285714v47.177142H261.632v69.632H345.965714v47.177143H261.632v106.788572zM516.973714 280.868571v223.597715h-54.857143V280.868571H389.12v-47.177142h201.142857v47.177142h-73.142857z m171.081143 129.243429v94.354286H633.417143V233.691429h88.283428c63.853714 0 95.817143 28.525714 95.817143 85.650285 0 27.794286-9.654857 50.029714-28.964571 66.706286-19.236571 16.749714-43.373714 24.722286-72.265143 24.064h-28.16z m0-132.754286v87.990857h27.940572c38.034286 0 57.051429-14.848 57.051428-44.544 0-28.964571-18.797714-43.446857-56.393143-43.446857h-28.598857z") });
netList.Add(new MenuItem { Header = "端口扫描", IconPath = StreamGeometry.Parse("M832 106.666667H192C145.066667 106.666667 106.666667 145.066667 106.666667 192v640c0 46.933333 38.4 85.333333 85.333333 85.333333h640c46.933333 0 85.333333-38.4 85.333333-85.333333V192c0-46.933333-38.4-85.333333-85.333333-85.333333zM277.333333 778.666667c0 17.066667-14.933333 32-32 32s-32-14.933333-32-32v-106.666667c0-17.066667 14.933333-32 32-32s32 14.933333 32 32v106.666667z m128 0c0 17.066667-14.933333 32-32 32s-32-14.933333-32-32v-106.666667c0-17.066667 14.933333-32 32-32s32 14.933333 32 32v106.666667z m128 0c0 17.066667-14.933333 32-32 32s-32-14.933333-32-32v-106.666667c0-17.066667 14.933333-32 32-32s32 14.933333 32 32v106.666667z m128 0c0 17.066667-14.933333 32-32 32s-32-14.933333-32-32v-106.666667c0-17.066667 14.933333-32 32-32s32 14.933333 32 32v106.666667z m128 0c0 17.066667-14.933333 32-32 32s-32-14.933333-32-32v-106.666667c0-17.066667 14.933333-32 32-32s32 14.933333 32 32v106.666667zM810.666667 426.666667c0 23.466667-19.2 42.666667-42.666667 42.666666h-85.333333c-23.466667 0-42.666667-19.2-42.666667-42.666666v-42.666667c0-23.466667-19.2-42.666667-42.666667-42.666667h-170.666666c-23.466667 0-42.666667 19.2-42.666667 42.666667v42.666667c0 23.466667-19.2 42.666667-42.666667 42.666666h-85.333333c-23.466667 0-42.666667-19.2-42.666667-42.666666v-170.666667c0-23.466667 19.2-42.666667 42.666667-42.666667h512c23.466667 0 42.666667 19.2 42.666667 42.666667v170.666667z") });
if (OperatingSystem.IsWindows())
{
netList.Add(new MenuItem { Header = "端口占用扫描", IconPath = StreamGeometry.Parse("M863.601206 859.27926H160.123797a153.572128 153.572128 0 0 1-153.293413-153.293414V153.293413A153.572128 153.572128 0 0 1 160.123797 0h703.477409a153.572128 153.572128 0 0 1 153.293413 153.293413v552.692433a153.572128 153.572128 0 0 1-153.293413 153.293414zM160.123797 83.614589A69.678824 69.678824 0 0 0 90.444973 153.293413v552.692433a69.678824 69.678824 0 0 0 69.678824 69.678825h703.477409a69.678824 69.678824 0 0 0 69.678824-69.678825V153.293413a69.678824 69.678824 0 0 0-69.678824-69.678824z M196.635501 165.556886m55.743059 0l518.967883 0q55.743059 0 55.743059 55.74306l0 416.400653q0 55.743059-55.743059 55.743059l-518.967883 0q-55.743059 0-55.743059-55.743059l0-416.400653q0-55.743059 55.743059-55.74306Z M303.94089 910.84159m48.775177 0l318.571584 0q48.775177 0 48.775177 48.775176l0 15.608057q0 48.775177-48.775177 48.775177l-318.571584 0q-48.775177 0-48.775177-48.775177l0-15.608057q0-48.775177 48.775177-48.775176Z") });
}
netList.Add(new MenuItem { Header = "网络状态检测", IconPath = StreamGeometry.Parse("M998.4 262.4c0-38.4-32-70.4-70.4-70.4H518.4L448 134.4C441.6 128 435.2 128 435.2 128h-320C64 121.6 25.6 166.4 25.6 217.6v569.6c0 64 51.2 108.8 108.8 108.8h537.6c12.8 0 25.6-12.8 25.6-25.6s-12.8-25.6-25.6-25.6H134.4c-32 0-64-25.6-64-64V217.6c0-25.6 19.2-44.8 44.8-44.8h300.8l230.4 185.6h307.2v428.8c0 32-25.6 64-64 64h-32c-12.8 0-25.6 12.8-25.6 25.6s12.8 25.6 25.6 25.6h32c64 0 108.8-51.2 108.8-108.8V262.4z M249.6 460.8h-64v204.8h38.4V582.4h70.4c6.4 0 12.8-6.4 19.2-12.8 6.4 0 12.8-12.8 19.2-19.2s6.4-19.2 6.4-32c0-19.2-6.4-32-12.8-38.4-6.4-6.4-12.8-19.2-25.6-19.2h-51.2z m44.8 76.8c0 6.4-6.4 6.4-12.8 12.8s-19.2 0-32 0h-25.6v-57.6h51.2c6.4 0 12.8 6.4 19.2 6.4v38.4zM371.2 460.8h38.4v204.8h-38.4zM492.8 460.8h-38.4v198.4h38.4v-128l76.8 128h44.8V460.8H576v134.4zM838.4 550.4h-89.6v32h44.8v25.6c-6.4 6.4-12.8 6.4-19.2 12.8-6.4 6.4-19.2 6.4-25.6 6.4-19.2 0-32-6.4-44.8-19.2-12.8-12.8-19.2-32-19.2-51.2 0-19.2 6.4-38.4 12.8-51.2 12.8-12.8 25.6-19.2 44.8-19.2 12.8 0 19.2 0 32 6.4 6.4 6.4 12.8 12.8 19.2 25.6l44.8-6.4c-6.4-19.2-12.8-32-25.6-44.8-12.8-12.8-32-12.8-57.6-12.8-19.2 0-38.4 6.4-51.2 12.8-19.2 6.4-32 19.2-38.4 38.4-6.4 19.2-12.8 32-12.8 57.6 0 19.2 6.4 38.4 12.8 51.2 6.4 19.2 19.2 32 38.4 38.4 12.8 6.4 32 12.8 57.6 12.8 19.2 0 32 0 51.2-6.4s19.2-19.2 25.6-25.6V550.4z") });
ObservableCollection<MenuItem> imageList = new ObservableCollection<MenuItem>();
imageList.Add(new MenuItem { Header = "二维码条形码生成", IconPath = StreamGeometry.Parse("M384 64l-249.6 0c-51.2 0-89.6 41.6-89.6 89.6l0 227.2c0 51.2 41.6 89.6 89.6 89.6l249.6 0c51.2 0 89.6-41.6 89.6-89.6l0-227.2C473.6 105.6 435.2 64 384 64zM428.8 380.8c0 25.6-19.2 44.8-44.8 44.8l-249.6 0c-25.6 0-44.8-19.2-44.8-44.8l0-227.2c0-25.6 19.2-44.8 44.8-44.8l249.6 0c25.6 0 44.8 19.2 44.8 44.8L428.8 380.8z M192 192l134.4 0 0 134.4-134.4 0 0-134.4Z M377.6 544l-243.2 0c-48 0-86.4 38.4-86.4 89.6l0 220.8c0 48 38.4 89.6 86.4 89.6l243.2 0c48 0 86.4-38.4 86.4-89.6l0-220.8C467.2 582.4 425.6 544 377.6 544zM422.4 851.2c0 25.6-19.2 44.8-44.8 44.8l-243.2 0c-25.6 0-44.8-19.2-44.8-44.8l0-220.8c0-25.6 19.2-44.8 44.8-44.8l243.2 0c25.6 0 44.8 19.2 44.8 44.8L422.4 851.2z M192 668.8l131.2 0 0 131.2-131.2 0 0-131.2Z M633.6 470.4l249.6 0c51.2 0 89.6-41.6 89.6-89.6l0-227.2c0-51.2-41.6-89.6-89.6-89.6l-249.6 0c-51.2 0-89.6 41.6-89.6 89.6l0 227.2C544 432 585.6 470.4 633.6 470.4zM588.8 153.6c0-25.6 19.2-44.8 44.8-44.8l249.6 0c25.6 0 44.8 19.2 44.8 44.8l0 227.2c0 25.6-19.2 44.8-44.8 44.8l-249.6 0c-25.6 0-44.8-19.2-44.8-44.8L588.8 153.6z M700.8 192l134.4 0 0 134.4-134.4 0 0-134.4Z M572.8 716.8l137.6 0c12.8 0 22.4-9.6 22.4-22.4l0-137.6c0-12.8-9.6-22.4-22.4-22.4l-137.6 0c-12.8 0-22.4 9.6-22.4 22.4l0 137.6C550.4 707.2 560 716.8 572.8 716.8z M886.4 563.2l0 38.4c0 12.8 12.8 25.6 25.6 25.6l38.4 0c12.8 0 25.6-12.8 25.6-25.6l0-38.4c0-12.8-12.8-25.6-25.6-25.6l-38.4 0C899.2 537.6 886.4 547.2 886.4 563.2z M582.4 944l48 0c12.8 0 22.4-9.6 22.4-22.4l0-48c0-12.8-9.6-22.4-22.4-22.4l-48 0c-12.8 0-22.4 9.6-22.4 22.4l0 48C560 934.4 569.6 944 582.4 944z M944 704l-99.2 0c-16 0-28.8 12.8-28.8 28.8l0 44.8-48 0c-19.2 0-32 12.8-32 32l0 99.2c0 16 12.8 28.8 28.8 28.8l179.2 3.2c16 0 28.8-12.8 28.8-28.8l0-179.2C972.8 716.8 960 704 944 704z") });
imageList.Add(new MenuItem { Header = "导航二维码生成", IconPath = StreamGeometry.Parse("M512 22C241.38 22 22 241.38 22 512s219.38 490 490 490 490-219.38 490-490S782.62 22 512 22z m226.06 277.73L517.54 809.14c-3.18 7.28-13.72 7.08-17.21-0.41L410.4 616.57a5.966 5.966 0 0 0-2.97-2.97L215.6 523.58c-7.58-3.49-7.79-14.05-0.41-17.23l508.74-220.76c8.91-3.91 18.03 5.22 14.13 14.14z") });
imageList.Add(new MenuItem { Header = "二维码条形码解析", IconPath = StreamGeometry.Parse("M170.666667 170.666667 426.666667 170.666667 426.666667 426.666667 170.666667 426.666667 170.666667 170.666667M853.333333 170.666667 853.333333 426.666667 597.333333 426.666667 597.333333 170.666667 853.333333 170.666667M597.333333 640 682.666667 640 682.666667 554.666667 597.333333 554.666667 597.333333 469.333333 682.666667 469.333333 682.666667 554.666667 768 554.666667 768 469.333333 853.333333 469.333333 853.333333 554.666667 768 554.666667 768 640 853.333333 640 853.333333 768 768 768 768 853.333333 682.666667 853.333333 682.666667 768 554.666667 768 554.666667 853.333333 469.333333 853.333333 469.333333 682.666667 597.333333 682.666667 597.333333 640M682.666667 640 682.666667 768 768 768 768 640 682.666667 640M170.666667 853.333333 170.666667 597.333333 426.666667 597.333333 426.666667 853.333333 170.666667 853.333333M256 256 256 341.333333 341.333333 341.333333 341.333333 256 256 256M682.666667 256 682.666667 341.333333 768 341.333333 768 256 682.666667 256M256 682.666667 256 768 341.333333 768 341.333333 682.666667 256 682.666667M170.666667 469.333333 256 469.333333 256 554.666667 170.666667 554.666667 170.666667 469.333333M384 469.333333 554.666667 469.333333 554.666667 640 469.333333 640 469.333333 554.666667 384 554.666667 384 469.333333M469.333333 256 554.666667 256 554.666667 426.666667 469.333333 426.666667 469.333333 256M85.333333 85.333333 85.333333 256 0 256 0 85.333333C0 38.4 38.4 0 85.333333 0L256 0 256 85.333333 85.333333 85.333333M938.666667 0C985.6 0 1024 38.4 1024 85.333333L1024 256 938.666667 256 938.666667 85.333333 768 85.333333 768 0 938.666667 0M85.333333 768 85.333333 938.666667 256 938.666667 256 1024 85.333333 1024C38.4 1024 0 985.6 0 938.666667L0 768 85.333333 768M938.666667 938.666667 938.666667 768 1024 768 1024 938.666667C1024 985.6 985.6 1024 938.666667 1024L768 1024 768 938.666667 938.666667 938.666667Z") });
imageList.Add(new MenuItem { Header = "GIF分割", IconPath = StreamGeometry.Parse("M511.5 81C272.6 81 79 274.6 79 513.5S272.6 946 511.5 946 944 752.4 944 513.5 750.4 81 511.5 81z m-32.3 532.6c-24.7 23.8-57.1 35.8-97 35.8-45.9 0-82.7-14.1-110.3-42.3-27.6-28.2-41.4-61.4-41.4-99.4 0-38.1 13.7-71 41.2-98.9C299.2 381 335.2 367 379.9 367s85.1 17.2 121.4 51.7l-20.6 19.9c-15-14.5-31.4-25.6-49.3-33.3-17.9-7.7-36.3-11.6-55.2-11.6-19 0-38 5.1-56.9 15.4-19 10.2-33.8 24-44.4 41.4-10.6 17.4-15.9 36.1-15.9 56.4 0 31.5 11.8 58.9 35.4 82.2 23.6 23.4 53.1 35 88.6 35 27 0 50.1-7.5 69.5-22.7 19.3-15.1 30.9-35.6 34.6-61.6h-85.8V514h116.1c-0.8 42.5-13.5 75.8-38.2 99.6z m112 29h-27V373.7h27v268.9z m196.2-242.3H679.6v83.9h107.9v26.6H679.6v131.8h-27V373.7h134.8v26.6z") });
imageList.Add(new MenuItem { Header = "图片转ICO", IconPath = StreamGeometry.Parse("M972.8 256v686.08c0 46.08-35.84 81.92-81.92 81.92H133.12c-46.08 0-81.92-35.84-81.92-81.92V81.92C51.2 35.84 87.04 0 133.12 0H716.8l256 256z M921.6 256v675.84c0 20.48-20.48 40.96-40.96 40.96H143.36c-20.48 0-40.96-15.36-40.96-40.96V92.16c0-25.6 20.48-40.96 40.96-40.96H716.8v204.8h204.8z M501.76 670.72h56.32c-15.36 56.32-61.44 97.28-122.88 97.28C363.52 768 307.2 711.68 307.2 640S363.52 512 435.2 512c61.44 0 112.64 40.96 122.88 97.28h-51.2c-15.36-25.6-40.96-46.08-71.68-46.08-40.96 0-76.8 35.84-76.8 76.8S394.24 716.8 435.2 716.8c30.72 0 56.32-20.48 66.56-46.08zM204.8 512h51.2v256H204.8v-256zM742.4 512c-71.68 0-128 56.32-128 128s56.32 128 128 128 128-56.32 128-128-56.32-128-128-128z m0 204.8c-40.96 0-76.8-35.84-76.8-76.8s35.84-76.8 76.8-76.8 76.8 35.84 76.8 76.8-35.84 76.8-76.8 76.8z") });
//if (OperatingSystem.IsWindows())
//{
// imageList.Add(new MenuItem { Header = "取颜色工具", IconPath = StreamGeometry.Parse("M963.145143 41.340343l11.819886 11.0592a147.573029 147.573029 0 0 1-2.4576 206.145828l-127.3856 127.3856 103.336228 105.706058-84.553143 77.824-91.282285-92.745143-433.649372 418.728228-17.466514 16.296229c-30.427429 26.565486-71.504457 53.394286-123.991772 81.451886A130.750171 130.750171 0 0 1 22.996114 812.763429c33.850514-58.9824 63.868343-101.346743 91.867429-128.380343L552.521143 255.619657 457.581714 154.799543l86.074515-80.0768 98.128457 107.022628 131.861943-131.774171a140.6976 140.6976 0 0 1 189.469257-8.630857z m-330.839772 293.156571L201.610971 756.384914l-15.389257 15.272229c-17.905371 19.485257-40.199314 51.902171-65.887085 96.636343a18.666057 18.666057 0 0 0 24.663771 25.892571c51.258514-27.384686 88.327314-52.4288 110.943086-74.313143L694.857143 395.995429l-62.551772-61.498515z") });
//}
imageList.Add(new MenuItem { Header = "色卡包", IconPath = StreamGeometry.Parse("M192 0a128 128 0 0 1 128 128v381.568L638.4 191.36a128 128 0 0 1 180.992 0l45.248 45.248a128 128 0 0 1 0 180.992L578.304 704 896 704a128 128 0 0 1 128 128v64a128 128 0 0 1-128 128H128a128 128 0 0 1-128-128V128a128 128 0 0 1 128-128h64z m128 768l2.176 192.064L896 960a64 64 0 0 0 63.552-56.512L960 896v-64a64 64 0 0 0-56.512-63.552L896 768H320zM192 64H128a64 64 0 0 0-63.552 56.512L64 128v768a64 64 0 0 0 56.512 63.552L128 960h64a64 64 0 0 0 63.552-56.512L256 896V128a64 64 0 0 0-56.512-63.552L192 64z m-32 768a32 32 0 1 1 0 64 32 32 0 0 1 0-64z m529.28-600.384l-5.632 4.992L320 600.064V704l167.744-0.064 331.648-331.584a64 64 0 0 0 4.992-84.928l-4.992-5.568-45.248-45.248a64 64 0 0 0-84.928-4.992z") });
ObservableCollection<MenuItem> crackList = new ObservableCollection<MenuItem>();
if (OperatingSystem.IsWindows())
{
crackList.Add(new MenuItem { Header = "远程路径软链接", IconPath = StreamGeometry.Parse("M512 1024C229.228 1024 0 794.772 0 512S229.228 0 512 0s512 229.228 512 512-229.228 512-512 512z m54.545-565.02l-1.798-1.764a102.207 102.207 0 0 0-11.002-9.523l-35.453 35.442c4.176 2.446 8.078 5.393 11.605 8.92l1.866 1.763a58.277 58.277 0 0 1 0 82.341l-96.904 96.882a58.334 58.334 0 0 1-82.341 0l-1.832-1.798a58.243 58.243 0 0 1 0-82.306l43.816-43.828a149.675 149.675 0 0 1-10.866-58.732l-67.812 67.72c-41.836 41.825-41.836 110.251 0 152.053l1.787 1.798c41.836 41.79 110.228 41.79 152.052 0l96.882-96.916c41.757-41.825 41.757-110.25 0-152.052z m141.38-141.37l-1.82-1.797c-41.802-41.825-110.228-41.825-152.053 0l-96.882 96.916c-41.824 41.79-41.824 110.216 0 152.053l1.798 1.763c3.505 3.425 7.225 6.576 11.002 9.523l35.454-35.476a57.845 57.845 0 0 1-11.583-8.92l-1.798-1.763a58.311 58.311 0 0 1 0-82.375l96.905-96.882a58.197 58.197 0 0 1 82.284 0l1.798 1.797a58.277 58.277 0 0 1 0 82.341l-43.76 43.828c7.612 18.796 11.196 38.81 10.844 58.766l67.789-67.755c41.824-41.79 41.824-110.216 0.022-152.007z") });
crackList.Add(new MenuItem { Header = "AdobeAcrobatXI破解", IconPath = StreamGeometry.Parse("M169.64 18.36c13.96-2.8 28.24-2.56 42.4-2.4C418.72 16 625.36 15.92 832 16c68.16 2.24 131.04 51.04 151.84 115.72 10.92 29.6 8 61.48 8.32 92.4-0.08 189.32 0.12 378.6-0.12 567.92-2.28 83.76-76 157.64-159.76 160.04-212.12 0.2-424.2 0.04-636.32 0.12-59.4-0.56-116.32-36.44-144.2-88.68-14.6-26.68-21-57.2-20.84-87.48 0-194.68-0.04-389.4 0.04-584.08-0.68-42.92 13.72-86.36 42.52-118.52 24.72-28.44 59.2-47.96 96.16-55.08m285.16 192.16c-17.12 18.56-18.08 45.68-17.4 69.56 0.56 42.64 16.64 82.76 30.32 122.36-22.16 66.76-48.44 132.64-82.8 194.16-47.2 19.16-94.16 41.56-133.12 74.96-18.96 16.56-36.84 41.36-28.8 67.84 8.28 26.56 38.84 38.36 64.56 34.84 32.68-4.32 58.92-26.96 80.96-49.84 30.12-32.2 54.16-69.52 76.08-107.64 2.32-5.16 8.56-6 13.28-7.88 45.48-14.28 91.56-27.08 138.6-35.2 40.88 36.2 92.16 63.28 147.4 66.68 20.8 0.92 44.44-1.32 59.84-16.96 18.04-17.48 16.72-49.08-0.56-66.64-14.48-14.8-35-21.6-54.84-25.6-45.44-7.6-91.88-3.8-137.2 2.8-4.6 0.48-7.24-4.04-10.36-6.56-29.04-29.88-52.84-64.28-74.56-99.68 14.2-49.36 29.36-99.8 27.52-151.72-1.04-24.4-7.96-50.56-27.04-67.16-19.56-17.72-53.76-18.68-71.88 1.68z M469.4 248.28c1.56-11.16 10.08-26.32 23.48-22 16.04 8.8 13.52 29.88 13.2 45.36-3.12 29.48-8.8 59.04-18.12 87.16l-3.72 1.56c-11.04-36.08-21.88-74.16-14.84-112.08zM508.52 475.6c3.96 1.8 8.48 3.24 10.24 7.72 11.08 19.6 26.8 35.96 40.24 53.84 0.28 1.72 0.88 5.12 1.16 6.8-29.72 4.24-58 14.88-87.36 20.68 12.4-29.44 26.6-58.32 35.72-89.04zM636.08 559.92c33.2-2.48 66.88-5.68 99.92-0.08 12 2.08 25.88 10.04 25.28 23.88-0.32 16.56-18.84 25.2-33.48 23.36-31.52-3.32-60.2-19-86.2-36.2-4.04-2.4-5.88-6.08-5.52-10.96zM296.04 675.8c21.8-14.2 44.44-27.64 68.88-36.72-0.96 2.56-2.96 7.76-3.92 10.32-19.92 29.92-41.68 59.24-69.96 81.76-8.08 5.32-17.04 10.92-27.08 10.32-7.92-3.12-15.6-11.64-12.12-20.6 8.12-20.28 27.04-33 44.2-45.08z") });
crackList.Add(new MenuItem { Header = "猫猫回收站", IconPath = StreamGeometry.Parse("M512 341.333333l-56.746667 3.84C418.56 301.653333 315.733333 192 213.333333 192c0 0-84.053333 126.293333-1.706666 294.826667-23.466667 35.413333-37.973333 53.76-40.96 96l-82.346667 12.373333 8.96 41.813333 75.093333-11.093333 5.973334 30.293333-66.986667 40.106667 20.053333 37.973333 61.866667-37.973333C242.346667 800.426667 366.506667 853.333333 512 853.333333s269.653333-52.906667 318.72-157.013333l61.866667 37.973333 20.053333-37.973333-66.986667-40.106667 5.973334-30.293333 75.093333 11.093333 8.96-41.813333-82.346667-12.373333c-2.986667-42.24-17.493333-60.586667-40.96-96C894.72 318.293333 810.666667 192 810.666667 192c-102.4 0-205.226667 109.653333-241.92 153.173333L512 341.333333m-128 128a42.666667 42.666667 0 0 1 42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667-42.666667 42.666667 42.666667 0 0 1 42.666667-42.666667m256 0a42.666667 42.666667 0 0 1 42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667-42.666667 42.666667 42.666667 0 0 1 42.666667-42.666667m-170.666667 128h85.333334l-29.866667 59.306667c8.533333 27.306667 32.426667 47.36 61.866667 47.36a64 64 0 0 0 64-64h21.333333a85.333333 85.333333 0 0 1-85.333333 85.333333c-32 0-59.733333-17.493333-74.666667-42.666666-14.933333 25.173333-42.666667 42.666667-74.666667 42.666666a85.333333 85.333333 0 0 1-85.333333-85.333333h21.333333a64 64 0 0 0 64 64c29.44 0 53.333333-20.053333 61.866667-47.36L469.333333 597.333333z") });
crackList.Add(new MenuItem { Header = "删除WPS图标", IconPath = StreamGeometry.Parse("M558.6 404.2c-9.5-7.1-23.6-10.7-42.6-10.7h-36.3v101.3H516c18.9 0 33.1-3.6 42.6-10.7s14.2-20.4 14.2-39.9c0-19.6-4.8-32.9-14.2-40z m-44.7-338c-239.1 0-433 193.9-433 433s193.9 433 433 433 433-193.9 433-433-193.9-433-433-433zM380.4 629.7h-31.5l-28.4-196.4h-3.2L289 629.7h-31.5l-34.7-265.4h34.7l17.3 167.2h3.2l23.6-167.2h34.7l23.6 167.2h3.2l17.3-167.2h34.7l-34.7 265.4zM587 502.4c-14.7 14.3-35.2 21.5-61.5 21.5h-45.7v102.8h-36.3V364.3h82c26.3 0 46.8 7.2 61.5 21.5 14.7 14.3 22.1 33.8 22.1 58.3-0.1 24.5-7.4 43.9-22.1 58.3zM784.8 609c-15.2 13.8-36 20.7-62.3 20.7-26.3 0-46.8-7.1-61.5-21.5-14.7-14.3-22-32.2-22-53.7v-10.7h36.3v9.2c0 15.3 4.7 27.1 14.2 35.3 9.5 8.2 20.5 12.3 33.1 12.3 16.8 0 29.2-4.3 37-13 7.9-8.7 11.8-19.2 11.8-31.5 0-10.2-4.7-19.7-14.2-28.4s-23.1-16.6-41-23.8c-25.2-9.2-43.4-19.4-54.4-30.7-11-11.2-16.6-24.5-16.6-39.9 0-21.5 7.6-38.9 22.9-52.2 15.2-13.3 33.4-19.9 54.4-19.9 27.3 0 47 7.9 59.1 23.8 12.1 15.9 18.1 33 18.1 51.4h-36.3c1-11.2-2.1-21.5-9.5-30.7s-17.9-13.8-31.5-13.8c-12.6 0-22.6 3.3-30 10-7.4 6.7-11 15.6-11 26.9 0 9.2 2.9 17.1 8.7 23.8 5.8 6.7 20.7 14.6 44.9 23.8 23.1 9.2 41 20.2 53.6 33 12.6 12.8 18.9 27.4 18.9 43.7 0.2 23.4-7.5 42.1-22.7 55.9z") });
crackList.Add(new MenuItem { Header = "快速打开网络和共享中心", IconPath = StreamGeometry.Parse("M426.666667 170.666667v170.666666h170.666666V170.666667h-170.666666m256 0v170.666666h170.666666V170.666667h-170.666666m0 256v170.666666h170.666666v-170.666666h-170.666666m0 256v170.666666h170.666666v-170.666666h-170.666666m-85.333334 170.666666v-170.666666h-170.666666v170.666666h170.666666m-256 0v-170.666666H170.666667v170.666666h170.666666m0-256v-170.666666H170.666667v170.666666h170.666666m0-256V170.666667H170.666667v170.666666h170.666666m85.333334 256h170.666666v-170.666666h-170.666666v170.666666M170.666667 85.333333h682.666666c46.933333 0 85.333333 38.4 85.333334 85.333334v682.666666c0 46.933333-38.4 85.333333-85.333334 85.333334H170.666667c-46.933333 0-85.333333-38.4-85.333334-85.333334V170.666667c0-46.933333 38.4-85.333333 85.333334-85.333334z") });
crackList.Add(new MenuItem { Header = "图标缓存清理", IconPath = StreamGeometry.Parse("M512 34.133333C248.149333 34.133333 34.133333 248.149333 34.133333 512s214.016 477.866667 477.866667 477.866667 477.866667-214.016 477.866667-477.866667S775.850667 34.133333 512 34.133333z m264.533333 422.912c0 22.357333-18.090667 40.448-40.448 40.448h-1.365333v166.741334c0 44.714667-36.181333 80.896-80.896 80.896h-14.336c0.341333-2.048 0.682667-4.096 0.682667-6.144v-70.314667c0-18.773333-15.36-34.133333-34.133334-34.133333s-34.133333 15.36-34.133333 34.133333v70.314667c0 2.048 0.170667 4.096 0.682667 6.144h-26.965334c0.341333-1.877333 0.512-3.925333 0.512-6.144v-70.485334c0-18.773333-15.36-34.133333-34.133333-34.133333s-34.133333 15.36-34.133333 34.133333v70.485334c0 2.048 0.170667 4.096 0.682666 6.144h-26.965333c0.341333-2.048 0.682667-4.096 0.682667-6.144v-70.314667c0-18.773333-15.36-34.133333-34.133334-34.133333s-34.133333 15.36-34.133333 34.133333v70.314667c0 2.048 0.170667 4.096 0.682667 6.144h-14.336c-44.714667 0-80.896-36.181333-80.896-80.896v-166.741334h-1.365334c-22.357333 0-40.448-18.090667-40.448-40.448v-30.549333c0-22.357333 18.090667-40.448 40.448-40.448h148.138667c11.093333 0 20.138667-9.045333 20.138667-20.309333v-70.997334c0-11.093333 9.045333-20.138667 20.138666-20.138666h70.997334c11.093333 0 20.138667 9.045333 20.138666 20.138666v70.997334c0 11.093333 9.045333 20.309333 20.138667 20.309333h148.138667c22.357333 0 40.448 18.090667 40.448 40.448v30.549333z") });
crackList.Add(new MenuItem { Header = "MySQL定时备份", IconPath = StreamGeometry.Parse("M915.2 844.8l-6.4-8.533333c-6.4-10.666667-12.8-19.2-21.333333-27.733334-6.4-6.4-21.333333-14.933333-23.466667-23.466666 6.4 0 10.666667 0 14.933333-2.133334 8.533333-2.133333 14.933333 0 23.466667-2.133333 4.266667 0 6.4-2.133333 10.666667-2.133333v-2.133334c-4.266667-4.266667-6.4-10.666667-10.666667-14.933333-10.666667-12.8-21.333333-23.466667-34.133333-34.133333-6.4-6.4-14.933333-10.666667-21.333334-14.933334-2.133333-2.133333-6.4-2.133333-8.533333-6.4-2.133333-6.4-6.4-12.8-6.4-19.2-4.266667-14.933333-10.666667-29.866667-14.933333-44.8-2.133333-10.666667-4.266667-19.2-8.533334-29.866666-17.066667-40.533333-42.666667-74.666667-78.933333-100.266667-8.533333-6.4-17.066667-10.666667-27.733333-12.8-6.4 0-10.666667-2.133333-17.066667-2.133333-4.266667-2.133333-6.4-6.4-8.533333-8.533334-10.666667-8.533333-23.466667-14.933333-36.266667-19.2-8.533333-2.133333-17.066667 2.133333-19.2 10.666667-8.533333 14.933333 6.4 32 10.666667 40.533333 4.266667 6.4 6.4 12.8 8.533333 19.2 2.133333 4.266667 2.133333 8.533333 2.133333 12.8 2.133333 10.666667 4.266667 23.466667 8.533334 34.133334 2.133333 6.4 4.266667 10.666667 6.4 14.933333 2.133333 2.133333 4.266667 6.4 4.266666 8.533333-2.133333 6.4-6.4 10.666667-6.4 17.066667-10.666667 25.6-10.666667 55.466667-2.133333 83.2 2.133333 6.4 10.666667 21.333333 21.333333 17.066667 10.666667-4.266667 10.666667-17.066667 14.933334-29.866667 0-2.133333 2.133333-4.266667 2.133333-6.4 2.133333 6.4 4.266667 14.933333 6.4 21.333333 6.4 12.8 14.933333 25.6 25.6 36.266667 4.266667 6.4 10.666667 10.666667 14.933333 17.066667 10.666667 8.533333 4.266667 10.666667 83.2 49.066666 0 0 32 14.933333 46.933334 21.333334 14.933333 6.4 29.866667 10.666667 44.8 14.933333 2.133333 0 2.133333-4.266667 2.133333-6.4zM693.333333 550.4c-2.133333-8.533333-6.4-19.2-10.666666-25.6-6.4-6.4 2.133333-12.8 10.666666-10.666667h2.133334c4.266667 0 6.4 4.266667 8.533333 6.4 0 2.133333 2.133333 2.133333 2.133333 4.266667 2.133333 10.666667-2.133333 23.466667-12.8 25.6z M46.933333 290.133333a371.2 119.466667 0 1 0 742.4 0 371.2 119.466667 0 1 0-742.4 0Z M678.4 793.6h-6.4c-14.933333 0-53.333333-6.4-76.8-55.466667v-4.266666c-6.4-17.066667-10.666667-36.266667-10.666667-55.466667-49.066667 8.533333-106.666667 12.8-166.4 12.8-164.266667 0-302.933333-34.133333-352-81.066667-8.533333-6.4-19.2-2.133333-19.2 8.533334v113.066666c0 66.133333 166.4 119.466667 371.2 119.466667 110.933333 0 211.2-14.933333 277.333334-40.533333-6.4-4.266667-10.666667-10.666667-17.066667-17.066667zM418.133333 631.466667c64 0 123.733333-4.266667 174.933334-14.933334v-2.133333c0-2.133333-2.133333-4.266667-2.133334-6.4-4.266667-12.8-6.4-25.6-10.666666-40.533333 0-2.133333-2.133333-6.4-2.133334-8.533334 0-2.133333-2.133333-2.133333-2.133333-4.266666v-4.266667l-2.133333-2.133333c-6.4-12.8-27.733333-46.933333-14.933334-87.466667-44.8 6.4-91.733333 8.533333-142.933333 8.533333-164.266667 0-302.933333-34.133333-352-81.066666-8.533333-6.4-19.2-2.133333-19.2 8.533333V512c0 66.133333 166.4 119.466667 373.333333 119.466667z") });
crackList.Add(new MenuItem { Header = "键盘钩子", IconPath = StreamGeometry.Parse("M896 819.2h-819.2C34.4576 819.2 0 784.7424 0 742.4v-409.6C0 290.4576 34.4576 256 76.8 256h819.2c42.3424 0 76.8 34.4576 76.8 76.8v409.6c0 42.3424-34.4576 76.8-76.8 76.8zM76.8 307.2a25.6 25.6 0 0 0-25.6 25.6v409.6a25.6 25.6 0 0 0 25.6 25.6h819.2a25.6 25.6 0 0 0 25.6-25.6v-409.6a25.6 25.6 0 0 0-25.6-25.6h-819.2z M179.2 409.6h-51.2a25.6 25.6 0 0 1 0-51.2h51.2a25.6 25.6 0 0 1 0 51.2zM844.8 409.6h-51.2a25.6 25.6 0 0 1 0-51.2h51.2a25.6 25.6 0 0 1 0 51.2zM230.4 512h-102.4a25.6 25.6 0 0 1 0-51.2h102.4a25.6 25.6 0 0 1 0 51.2zM179.2 716.8h-51.2a25.6 25.6 0 0 1 0-51.2h51.2a25.6 25.6 0 0 1 0 51.2zM588.8 716.8h-307.2a25.6 25.6 0 0 1 0-51.2h307.2a25.6 25.6 0 0 1 0 51.2zM742.4 716.8h-51.2a25.6 25.6 0 0 1 0-51.2h51.2a25.6 25.6 0 0 1 0 51.2zM844.8 614.4h-153.6a25.6 25.6 0 0 1 0-51.2H819.2V486.4a25.6 25.6 0 0 1 51.2 0v102.4a25.6 25.6 0 0 1-25.6 25.6zM281.6 614.4h-153.6a25.6 25.6 0 0 1 0-51.2h153.6a25.6 25.6 0 0 1 0 51.2zM307.2 384a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM409.6 384a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM512 384a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM614.4 384a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM716.8 384a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM358.4 486.4a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM460.8 486.4a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM563.2 486.4a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM665.6 486.4a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0z M768 486.4a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM409.6 588.8a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM512 588.8a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0zM614.4 588.8a25.6 25.6 0 1 1-51.2 0 25.6 25.6 0 0 1 51.2 0z") });
crackList.Add(new MenuItem { Header = "串口转键盘输入", IconPath = StreamGeometry.Parse("M1153.728 32c22.592 0 36.8 8.448 52.736 22.72 20.8 18.752 30.016 30.464 30.016 60.672v599.04c0 22.784-7.552 45.504-22.592 60.672a81.024 81.024 0 0 1-52.672 22.784H114.816c-22.592 0-37.632-7.616-52.672-22.784C39.552 759.936 32 737.28 32 714.432v-599.04c0-22.72 7.552-45.44 22.592-60.672C69.632 39.68 92.16 32 107.264 32z m-82.816 515.648h-60.288c-7.552 0-7.552 0-7.552 7.68v60.608c0 7.616 0 7.616 7.552 7.616h60.224c7.552 0 7.552 0 7.552-7.616v-60.672c0-7.552 0-7.68-7.488-7.68z m-316.224-106.112c0 7.616 0 7.616 7.488 7.616h67.776c7.552 0 7.552 0 7.552-7.616V380.8c0-7.488 0.128-7.488-7.488-7.552h-67.84c-7.552 0-7.552 0-7.552 7.552v60.8z m90.304-159.232h60.224c7.552 0 7.552 0 7.552-7.552V206.464c0-7.552 0-7.552-7.552-7.552h-60.16c-7.68 0-7.68 0-7.68 7.552v68.288c0 7.552 0 7.552 7.68 7.552z m82.816 166.912h143.04c7.552 0 7.552 0 7.552-7.616V206.464c0-7.552 0.128-7.552-7.488-7.68h-67.84c-7.488 0-7.488 0-7.488 7.68v166.784h-67.776c-7.552 0-7.552 0-7.552 7.552v60.8c0 7.616 0 7.616 7.552 7.616z m-301.12 546.368l112.896-136.512H513.728l112.96 136.512z m-361.408-448h-60.16c-7.552 0-7.552 0-7.552 7.68v60.672c0 7.616 0 7.616 7.488 7.616h60.352c7.488 0 7.488 0 7.488-7.616v-60.672c0-7.552 0.384-7.68-7.616-7.68z m640 0h-542.08c-7.552 0-7.552 0-7.552 7.68v60.672c0 7.616 0 7.616 7.552 7.616h542.08c7.488 0 7.488 0 7.488-7.616v-60.672c0-7.552 0-7.68-7.552-7.68zM445.952 449.216h60.16c7.552 0 7.552 0 7.552-7.616V380.8c0-7.488 0-7.488-7.488-7.552h-60.224c-7.552 0-7.552 0-7.552 7.552v60.8c0 7.552 0 7.552 7.552 7.552zM197.568 274.752c0 7.552 0 7.552 7.488 7.552h60.352c7.488 0 7.488 0 7.488-7.552V206.464c0-7.552 0-7.552-7.616-7.552h-60.16c-7.552 0-15.104 0-7.552 7.552v68.288z m489.344 7.552h60.288c7.552 0 7.552 0 7.552-7.552V206.464c0-7.552 0-7.552-7.552-7.552h-60.288c-7.552 0-7.552 0-7.552 7.552v68.288c0 7.552 0 7.552 7.552 7.552z m-489.344 98.56v60.672c0 7.616 0 7.616 7.488 7.616H348.16c7.552 0 7.552 0 7.552-7.616V380.8c0-7.488 0-7.552-7.552-7.552H205.056c-7.488 0-7.488 0-7.488 7.552z m165.632-98.56h60.16c7.552 0 7.552 0 7.552-7.552V206.464c0-7.552 0-7.552-7.488-7.552h-60.224c-7.552 0-7.552 0-7.552 7.552v68.288c0 7.552 0 7.552 7.552 7.552zM596.48 441.6c0 7.616 0 7.616 7.616 7.616h60.16c7.68 0 7.68 0 7.68-7.616V380.8c0-7.488 0-7.488-7.68-7.552h-60.16c-7.616 0-7.616 0-7.616 7.552v60.8zM521.28 282.304h67.776c7.488 0 7.488 0 7.488-7.552V206.464c0-7.552-7.488-7.552-14.976-7.552h-60.288s-7.552 0-7.552 7.552v68.288c0 7.552 0 7.552 7.552 7.552z") });
crackList.Add(new MenuItem { Header = "服务器性能监控", IconPath = StreamGeometry.Parse("M0 728v136c0 35.3 28.7 64 64 64h896c35.3 0 64-28.7 64-64V728c0-4.4-3.6-8-8-8H8c-4.4 0-8 3.6-8 8z m774 96c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h342c4.4 0 8 3.6 8 8v48z m122 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zM0 536v144c0 4.4 3.6 8 8 8h1008c4.4 0 8-3.6 8-8V536c0-4.4-3.6-8-8-8H8c-4.4 0-8 3.6-8 8z m774 96c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h342c4.4 0 8 3.6 8 8v48z m122 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zM0 344v144c0 4.4 3.6 8 8 8h1008c4.4 0 8-3.6 8-8V344c0-4.4-3.6-8-8-8H8c-4.4 0-8 3.6-8 8z m774 96c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h342c4.4 0 8 3.6 8 8v48z m122 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48zM960 96H64c-35.3 0-64 28.7-64 64v136c0 4.4 3.6 8 8 8h1008c4.4 0 8-3.6 8-8V160c0-35.3-28.7-64-64-64zM774 248c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h342c4.4 0 8 3.6 8 8v48z m122 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v48z") });
}
//else if (OperatingSystem.IsMacOS())
//{
//}
//else if (OperatingSystem.IsLinux())
//{
//}
ObservableCollection<MenuItem> otherList = new ObservableCollection<MenuItem>();
otherList.Add(new MenuItem { Header = "人民币转大写", IconPath = StreamGeometry.Parse("M447.488 764.928l-197.632 0q-27.648-2.048-42.496-23.04t-17.92-46.592q3.072-25.6 17.92-41.984t42.496-18.432l197.632 0 0-64.512-197.632-1.024q-27.648-2.048-42.496-19.456t-17.92-44.032q3.072-25.6 17.92-41.984t42.496-18.432l147.456 0-137.216-241.664q-10.24-12.288-19.456-31.232t-8.192-41.472q5.12-28.672 20.48-46.592t57.344-23.04q24.576 2.048 44.032 16.896t31.744 32.256l155.648 284.672 171.008-286.72q12.288-17.408 31.744-30.72t44.032-16.384q15.36 1.024 28.16 4.096t22.528 10.24 16.384 20.48 9.728 34.816q0 29.696-20.48 56.32l-158.72 258.048 150.528 0q26.624 2.048 41.984 18.432t17.408 41.984q-2.048 26.624-17.92 45.056t-42.496 20.48l-195.584 1.024 0 62.464 196.608 0q26.624 2.048 41.984 20.48t17.408 44.032q-2.048 26.624-17.408 44.544t-41.984 19.968l-196.608-1.024 0 108.544q-4.096 87.04-95.232 87.04-45.056 0-70.144-21.504t-27.136-65.536l0-106.496z") });
otherList.Add(new MenuItem { Header = "进制转换及ASCII转换", IconPath = StreamGeometry.Parse("M624.042667 336.042667a64 64 0 0 0 0 128h192a64 64 0 0 0 0-128h-32V112.042667a64 64 0 0 0-64-64H624.042667a64 64 0 0 0 0 128h32v160h-32zM400.042667 848.042667h-32V624.042667a64 64 0 0 0-64-64H208.042667a64 64 0 0 0 0 128h32v160h-32a64 64 0 0 0 0 128h192a64 64 0 0 0 0-128zM400.042667 48.042667h-192a64 64 0 0 0-64 64v288c0 35.328 28.672 64 64 64h192a64 64 0 0 0 64-64V112.042667a64 64 0 0 0-64-64z m-64 288h-64V176.042667h64v160zM816.042667 560.042667h-192a64 64 0 0 0-64 64v288c0 35.328 28.672 64 64 64h192a64 64 0 0 0 64-64V624.042667a64 64 0 0 0-64-64z m-64 288h-64V688.042667h64v160z") });
otherList.Add(new MenuItem { Header = "SQL StringBuilder封装", IconPath = StreamGeometry.Parse("M271.1 327.5 208.6 382.7c-22-30.6-44.3-45.8-67.1-45.8-11.1 0-20.1 3-27.2 8.9-7 5.9-10.6 12.6-10.6 20.1 0 7.4 2.5 14.5 7.6 21.1 6.8 8.9 27.5 27.9 61.9 57 32.2 26.9 51.8 43.9 58.6 51 17.1 17.3 29.3 33.8 36.4 49.6 7.1 15.8 10.7 33 10.7 51.7 0 36.4-12.6 66.5-37.7 90.2-25.2 23.7-58 35.6-98.4 35.6-31.6 0-59.1-7.7-82.6-23.2-23.4-15.5-43.5-39.8-60.2-73l71-42.8c21.3 39.2 45.9 58.8 73.7 58.8 14.5 0 26.7-4.2 36.6-12.7 9.9-8.4 14.8-18.2 14.8-29.3 0-10.1-3.7-20.1-11.2-30.2-7.5-10.1-23.9-25.4-49.2-46.1-48.3-39.4-79.6-69.8-93.7-91.2-14.1-21.4-21.1-42.8-21.1-64.1 0-30.8 11.7-57.2 35.2-79.2 23.4-22 52.4-33 86.8-33 22.1 0 43.2 5.1 63.3 15.4C226.1 281.6 247.8 300.3 271.1 327.5z M709.2 646l77.2 99.8-100 0-39.2-50.5c-32.4 17.8-68.6 26.6-108.4 26.6-66.6 0-122-23-166.1-68.9-44.1-45.9-66.1-100.7-66.1-164.2 0-42.4 10.3-81.4 30.8-116.9 20.5-35.5 48.7-63.7 84.7-84.6 35.9-20.9 74.5-31.4 115.7-31.4 63 0 117 22.7 162.2 68.2 45.2 45.4 67.8 100.8 67.8 166.2C767.8 550.5 748.2 602.3 709.2 646zM656.5 577.8c17.9-26.5 26.8-55.9 26.8-88.1 0-42-14.2-77.7-42.6-107.1-28.4-29.3-62.7-44-103-44-41.5 0-76.2 14.3-104.2 42.8-28 28.6-42 64.8-42 108.9 0 49.1 17.6 87.9 52.9 116.4 27.6 22.3 58.9 33.5 94 33.5 20.1 0 39.1-3.9 56.8-11.8l-79.4-102.2 100.7 0L656.5 577.8z M816.5 267.1l84.4 0 0 363.1L1024 630.2l0 80.5L816.5 710.7 816.5 267.1z") });
otherList.Add(new MenuItem { Header = "角度弧度转换", IconPath = StreamGeometry.Parse("M54 86c0-28.509 34.469-42.786 54.627-22.627l853 853C981.787 936.53 967.51 971 939 971H86c-17.673 0-32-14.327-32-32z m64 77.255l-0.001 189.295h31.976c17.673 0 32 14.327 32 32 0 17.496-14.042 31.713-31.47 31.996l-0.53 0.004h-31.976v63.95h31.976c17.673 0 32 14.327 32 32 0 17.496-14.042 31.713-31.47 31.996l-0.53 0.004h-31.976v63.95h31.976c17.673 0 32 14.327 32 32 0 17.496-14.042 31.713-31.47 31.996l-0.53 0.004h-31.976v63.95h31.976c17.673 0 32 14.327 32 32 0 17.496-14.042 31.713-31.47 31.996l-0.53 0.004h-31.976L118 907h106.599l0.001-31.975c0-17.673 14.327-32 32-32 17.496 0 31.713 14.042 31.996 31.47l0.004 0.53-0.001 31.975h63.95l0.001-31.975c0-17.673 14.327-32 32-32 17.496 0 31.713 14.042 31.996 31.47l0.004 0.53-0.001 31.975H480.5v-31.975c0-17.673 14.327-32 32-32 17.496 0 31.713 14.042 31.996 31.47l0.004 0.53V907h63.949l0.001-31.975c0-17.673 14.327-32 32-32 17.496 0 31.713 14.042 31.996 31.47l0.004 0.53-0.001 31.975h189.296L118 163.255z m127.925 327.92c0-28.509 34.469-42.786 54.627-22.627l255.9 255.9c20.16 20.158 5.882 54.627-22.627 54.627h-255.9c-17.673 0-32-14.327-32-32z m63.999 77.254v146.645h146.645L309.924 568.429z") });
otherList.Add(new MenuItem { Header = "MD5、DES", IconPath = StreamGeometry.Parse("M862.435556 200.248889h-34.133334s-79.644444-2.275556-159.288889-34.133333c-81.92-34.133333-136.533333-72.817778-136.533333-72.817778l-20.48-15.928889-20.48 13.653333s-54.613333 38.684444-136.533333 72.817778c-79.644444 34.133333-159.288889 34.133333-159.288889 34.133333H161.564444v359.537778c0 179.768889 227.555556 370.915556 350.435556 370.915556s350.435556-191.146667 350.435556-370.915556V200.248889z m-100.124445 159.288889L509.724444 614.4c-6.826667 6.826667-15.928889 9.102222-25.031111 9.102222-6.826667 0-15.928889-2.275556-20.48-6.826666l-170.666666-136.533334c-13.653333-11.377778-18.204444-34.133333-4.551111-47.786666 11.377778-13.653333 34.133333-18.204444 47.786666-4.551112l147.911111 118.328889 232.106667-232.106666c13.653333-13.653333 34.133333-13.653333 47.786667 0s11.377778 31.857778-2.275556 45.511111z") });
otherList.Add(new MenuItem { Header = "地标写入", IconPath = StreamGeometry.Parse("M782.8 112.2C713.5 42.9 617.7 0 512 0 300.5 0 129 171.5 129 383c0 84 27.1 161.8 73.2 225.3L512 1024l302.6-406.5c50.2-65 80.4-145.9 80.4-234.5 0-105.7-42.9-201.5-112.2-270.8zM512 563.2c-99.3 0-180.2-80.4-180.2-180.2 0-99.8 80.9-179.7 180.2-179.7s180.2 80.4 180.2 180.2S611.3 563.2 512 563.2z") });
MenuItems.Add(new MenuItem { Header = "PLC通信调试", IconPath = StreamGeometry.Parse("M224.619355 171.767742v85.883871h26.425806v231.225806h13.212904c1.123097 0 2.219768 0.066065 3.303225 0.198194V254.348387l128.825807-0.006606V171.767742h404.645161v82.574039l127.174194 0.006606v568.154839h-660.645162V594.382452l-1.6384 0.145342L264.258065 594.580645h-13.212904v227.922581H132.129032V594.574039L118.916129 594.580645a26.425806 26.425806 0 0 1-26.392774-25.104516L92.490323 568.154839v-52.851613a26.425806 26.425806 0 0 1 25.104516-26.392774L118.916129 488.877419h13.212903V257.651613l26.4192-0.006607L158.554839 171.767742h66.064516z m0 436.025806h-59.458065v184.980646h59.458065V607.793548z m-13.212903 151.948387v13.212904h-33.032258v-13.212904h33.032258z m668.176516-424.081341h-13.212903v18.498064L343.535484 354.152052V336.929032h-13.212903v30.442529h536.047484V396.387097h-168.953394v284.077419h168.953394v26.425807H330.322581v30.442529h13.212903V720.103226h522.834581v25.203613h13.212903V335.660594zM211.406452 726.709677v13.212904h-33.032258v-13.212904h33.032258z m0-33.032258v13.212904h-33.032258v-13.212904h33.032258z m363.354838-34.287484h-46.245161v19.819355h46.245161v-19.819355z m-171.767742 0h-46.245161v19.819355h46.245161v-19.819355z m85.883871 0h-46.245161v19.819355h46.245161v-19.819355z m171.767742 0h-46.245161v19.819355h46.245161v-19.819355zM211.406452 660.645161v13.212904h-33.032258v-13.212904h33.032258z m654.963613-251.045161v257.651613h-155.740491V409.6h155.740491zM211.406452 627.612903v13.212903h-33.032258v-13.212903h33.032258z m277.470967-14.468129h-46.245161v19.819355h46.245161v-19.819355z m171.767742 0h-46.245161v19.819355h46.245161v-19.819355z m-257.651613 0h-46.245161v19.819355h46.245161v-19.819355z m171.767742 0h-46.245161v19.819355h46.245161v-19.819355zM231.225806 442.632258H158.554839v13.212903h72.670967v-13.212903z m171.767742-46.245161h-46.245161v39.638709h46.245161v-39.638709z m85.883871 0h-46.245161v39.638709h46.245161v-39.638709z m85.883871 0h-46.245161v39.638709h46.245161v-39.638709z m85.883871 0h-46.245161v39.638709h46.245161v-39.638709z m-449.238709 13.212903h-52.851613v13.212903h52.851613v-13.212903z m-19.819355-33.032258h-33.032258v13.212903h33.032258v-13.212903z m556.593548-151.948387H449.23871v29.722426h298.941935V224.619355zM191.587097 198.193548a19.819355 19.819355 0 1 0 0 39.63871 19.819355 19.819355 0 0 0 0-39.63871z"), Children = plcCommList });
MenuItems.Add(new MenuItem { Header = "网络相关", IconPath = StreamGeometry.Parse("M512 96c229.76 0 416 186.24 416 416S741.76 928 512 928 96 741.76 96 512 282.24 96 512 96z m-32 448l-127.317333 0.021333c0.896 20.48 2.624 40.405333 5.12 59.669334l1.984 14.293333 2.474666 15.253333c19.754667 112.896 65.728 197.738667 117.76 222.997334L480 544z m191.317333 0.021333L544 544v312.234667c50.858667-24.725333 95.936-106.368 116.373333-215.509334l1.365334-7.488 2.474666-15.232a701.013333 701.013333 0 0 0 7.104-73.984z m-382.698666 0H161.429333c11.648 129.066667 92.992 238.08 206.101334 289.066667-22.122667-34.282667-40.362667-76.416-53.76-124.032l-3.029334-11.093333-3.52-14.165334-3.242666-14.464a744.490667 744.490667 0 0 1-15.36-125.312z m573.952 0H735.36a752.661333 752.661333 0 0 1-12.672 112.128l-2.688 13.184-3.242667 14.464-3.52 14.186667c-13.653333 52.138667-32.96 98.197333-56.789333 135.104 113.109333-50.986667 194.453333-160 206.08-289.066667zM367.530667 190.890667l-2.858667 1.301333C253.013333 243.733333 172.970667 352 161.429333 480h127.189334c1.536-39.04 5.866667-76.693333 12.672-112.149333l2.688-13.184 3.242666-14.464 3.52-14.186667c13.653333-52.138667 32.96-98.197333 56.789334-135.104zM480 167.765333c-50.709333 24.618667-95.68 105.898667-116.202667 214.592l-1.536 8.405334-2.474666 15.232a701.034667 701.034667 0 0 0-7.104 74.005333H480V167.765333z m176.469333 23.146667l2.56 4.053333c20.906667 33.429333 38.229333 73.984 51.093334 119.552l3.136 11.52 3.52 14.165334 3.242666 14.464c8.362667 39.253333 13.632 81.408 15.36 125.333333h127.189334c-11.626667-129.088-92.970667-238.101333-206.101334-289.066667zM544 167.765333L544 480h127.317333a707.136 707.136 0 0 0-5.333333-61.376l-1.770667-12.629333-2.474666-15.232c-19.754667-112.874667-65.706667-197.717333-117.717334-222.997334z"), Children = netList });
MenuItems.Add(new MenuItem { Header = "图片相关", IconPath = StreamGeometry.Parse("M852.3 189h-682c-30.2 0-54.6 24.4-54.6 54.6v550.1c0 30.2 24.4 54.6 54.6 54.6h682c30.2 0 54.6-24.5 54.6-54.6V243.6c0.1-30.2-24.4-54.6-54.6-54.6zM713.5 338.8c17.7 0 32.1 14.4 32.1 32.1 0 17.7-14.4 32.1-32.1 32.1s-32.1-14.4-32.1-32.1c0-17.7 14.4-32.1 32.1-32.1z m168.1 238.5c-2.8 5.4-7.5 9.4-13.4 11.3-5.8 1.9-12 1.3-17.4-1.5L724 521.6c-10.5-5.4-23.3-4.3-32.7 3L620.1 580c-10.5 8.2-23.1 12.3-35.8 12.3-12.5 0-25-4-35.4-12l-196-149.9c-12.5-9.5-30.2-7.6-40.3 4.4L189 582c-8.1 9.6-22.5 10.9-32.2 2.8-4.7-3.9-7.5-9.4-8.1-15.5-0.5-6.1 1.3-12 5.3-16.7l134-159.3c20.1-23.9 55.2-27.8 80-8.8l197.8 151.2c11 8.4 26.3 8.3 37.2-0.2l69.4-54c17.9-13.9 42.4-16.1 62.5-5.8l136.9 70.7c11.2 5.9 15.6 19.7 9.8 30.9z"), Children = imageList });
if (OperatingSystem.IsWindows())
{
MenuItems.Add(new MenuItem { Header = "破解及系统相关", IconPath = StreamGeometry.Parse("M91.83 661.86c1.87 34.09 30.28 60.65 64.43 60.22h331.23v91.74H360.74c-13.34 0-24.16 10.82-24.16 24.16s10.82 24.16 24.16 24.16h302.53c13.34 0 24.16-10.82 24.16-24.16s-10.82-24.16-24.16-24.16H536.51v-91.74h331.24c34.14 0.43 62.55-26.13 64.43-60.22v-55.32H91.83v55.32zM867.74 161.86H156.26c-34.93-0.39-63.66 27.41-64.43 62.33v328.43h840.34V224.19c-0.77-34.93-29.5-62.72-64.43-62.33z"), Children = crackList });
}
MenuItems.Add(new MenuItem { Header = "其他", IconPath = StreamGeometry.Parse("M512 65.311495c-246.699682 0-446.688505 199.989847-446.688505 446.688505s199.989847 446.688505 446.688505 446.688505S958.688505 758.699682 958.688505 512 758.698658 65.311495 512 65.311495zM309.953308 567.255465c-30.517037 0-55.255465-24.738427-55.255465-55.255465s24.738427-55.255465 55.255465-55.255465 55.255465 24.738427 55.255465 55.255465S340.470345 567.255465 309.953308 567.255465zM512 567.255465c-30.517037 0-55.255465-24.738427-55.255465-55.255465s24.738427-55.255465 55.255465-55.255465c30.517037 0 55.255465 24.738427 55.255465 55.255465S542.517037 567.255465 512 567.255465zM714.046692 567.255465c-30.517037 0-55.255465-24.738427-55.255465-55.255465s24.738427-55.255465 55.255465-55.255465 55.255465 24.738427 55.255465 55.255465S744.56373 567.255465 714.046692 567.255465z"), Children = otherList });
//所有菜单页面的标题集合
foreach (MenuItem item in MenuItems)
{
MenuHeaderList.AddRange(item.Children?.Select(it => it.Header).ToList());
}
//页面字典初始化
SelectedMenuItem = MenuItems.Where(it => it.Header == "PLC通信调试").FirstOrDefault()?.Children?.Where(it => it.Header == "Modbus调试2").FirstOrDefault();
ContentPage = PageDict.FirstOrDefault().Value;
}
private UserControl GetPage(string pageName)
{
UserControl userControl1 = null;
if (pageName == "倍福ADS调试")
{
userControl1 = new ADS调试();
}
else if (pageName == "三菱MC协议")
{
userControl1 = new MC协议l();
}
else if (pageName == "MC-3E服务模拟")
{
userControl1 = new MC3E服务模拟();
}
else if (pageName == "OPCUA调试")
{
userControl1 = new OPCUA调试();
}
else if (pageName == "Modbus调试1")
{
userControl1 = new Modbus调试1();
}
else if (pageName == "Modbus调试2")
{
userControl1 = new Modbus调试2();
}
else if (pageName == "ModbusTCP服务")
{
userControl1 = new Modbus服务();
}
else if (pageName == "西门子PLC调试")
{
userControl1 = new 西PLC调试();
}
else if (pageName == "欧姆龙Fins调试")
{
userControl1 = new Fins调试();
}
else if (pageName == "串口调试工具")
{
userControl1 = new ();
}
else if (pageName == "Socket调试")
{
userControl1 = new Socket调试();
}
else if (pageName == "ModbusRTU")
{
userControl1 = new ModbusRTU();
}
else if (pageName == "HTTP调试")
{
userControl1 = new HTTP调试();
}
else if (pageName == "FTP客户端")
{
userControl1 = new FTP客户端();
}
else if (pageName == "FTP服务")
{
userControl1 = new FTP服务();
}
else if (pageName == "端口扫描")
{
userControl1 = new ();
}
else if (pageName == "端口占用扫描")
{
userControl1 = new ();
}
else if (pageName == "网络状态检测")
{
userControl1 = new ();
}
else if (pageName == "二维码条形码生成")
{
userControl1 = new ();
}
else if (pageName == "导航二维码生成")
{
userControl1 = new ();
}
else if (pageName == "二维码条形码解析")
{
userControl1 = new ();
}
else if (pageName == "GIF分割")
{
userControl1 = new GIF分割();
}
else if (pageName == "图片转ICO")
{
userControl1 = new ICO();
}
//else if (pageName == "取颜色工具")
//{
// userControl1 = new 取颜色工具();
//}
else if (pageName == "色卡包")
{
userControl1 = new ();
}
else if (pageName == "远程路径软链接")
{
userControl1 = new ();
}
else if (pageName == "AdobeAcrobatXI破解")
{
userControl1 = new AdobeAcrobatXI破解();
}
else if (pageName == "猫猫回收站")
{
userControl1 = new ();
}
else if (pageName == "删除WPS图标")
{
userControl1 = new WPS图标();
}
else if (pageName == "快速打开网络和共享中心")
{
userControl1 = new ();
}
else if (pageName == "图标缓存清理")
{
userControl1 = new ();
}
else if (pageName == "MySQL定时备份")
{
userControl1 = new MySQL定时备份();
}
else if (pageName == "键盘钩子")
{
userControl1 = new ();
}
else if (pageName == "串口转键盘输入")
{
userControl1 = new ();
}
else if (pageName == "服务器性能监控")
{
userControl1 = new ();
}
else if (pageName == "人民币转大写")
{
userControl1 = new ();
}
else if (pageName == "进制转换及ASCII转换")
{
userControl1 = new ASCII转换();
}
else if (pageName == "SQL StringBuilder封装")
{
userControl1 = new SQLStringBuilder封装();
}
else if (pageName == "角度弧度转换")
{
userControl1 = new ();
}
if (pageName == "MD5、DES")
{
userControl1 = new MD5DES();
}
else if (pageName == "地标写入")
{
userControl1 = new ();
}
if (userControl1 == null)
{
userControl1 = new UserControl1();
((UserControl1)userControl1).SetText(pageName);
}
return userControl1;
}
}
public class MenuItem
{
public string Header { get; set; }
public StreamGeometry IconPath { get; set; }
public bool IsSeparator { get; set; }
public DelegateCommand NavigationCommand { get; set; }
public MenuItem()
{
NavigationCommand = new DelegateCommand(OnNavigate);
}
private void OnNavigate(object obj)
{
MessageBox.ShowOverlayAsync(Header ?? string.Empty, "Navigation Result");
}
public ObservableCollection<MenuItem> Children { get; set; } = new ObservableCollection<MenuItem>();
public IEnumerable<MenuItem> GetLeaves()
{
if (this.Children.Count == 0)
{
yield return this;
yield break;
}
foreach (var child in Children)
{
var items = child.GetLeaves();
foreach (var item in items)
{
yield return item;
}
}
}
}
}