publicstaticstringGetDllDirectory(){stringcodeBase=Assembly.GetExecutingAssembly().CodeBase;UriBuilderuri=newUriBuilder(codeBase);stringpath=Uri.UnescapeDataString(uri.Path);returnSystem.IO.Path.GetDirectoryName(path);}publicMyDropMenu(){System.UriresourceLocater=newSystem.Uri("/MyDropMenu;component/ComUseicons.xaml",System.UriKind.Relative);ResourceDictionaryrd=(ResourceDictionary)Application.LoadComponent(resourceLocater);Application.Current.Resources.MergedDictionaries.Add(rd);InitializeComponent();try{stringjsonFile=GetDllDirectory()+"\\Menu.json";// 确保文件存在if(!File.Exists(jsonFile))thrownewFileNotFoundException("The JSON file was not found."+jsonFile);// 读取文件内容并反序列化为指定的类型 Tvarreader=newStreamReader(jsonFile);varjson=reader.ReadToEnd();varperson=JsonConvert.DeserializeObject<Root>(json);Items=person.ItemMenu;//遍历items,将icon添加数据// 遍历并修改Iconforeach(varitemMenuinItems){itemMenu.Icon=GetDllDirectory()+"\\config\\Images\\PNG\\"+itemMenu.Icon;foreach(varsubIteminitemMenu.SubItems){subItem.Icon=GetDllDirectory()+"\\config\\Images\\PNG\\"+subItem.Icon;}}LeftMenu.ItemsSource=Items;}catch(Exception){throw;}}