/// <summary> /// 选择 Dll 路径 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSelectDll_OnClick(object sender, RoutedEventArgs e) { var dllPathRefer = new DllPathRefer(dllPathSelTreeView => { DllPath = dllPathSelTreeView.FullPath.Remove(0, Config.DevPlatformPath.Length); var types = Assembly.LoadFile(dllPathSelTreeView.FullPath).GetTypes(); var id = 1; var list = types.Select(a => { var dllEntry = new DgDllEntryClass { Id = id++, FullName = a.FullName }; dllEntry.CheckChanged += DllEntry_CheckChanged; return(dllEntry); }).ToList(); DataGridMain.ItemsSource = list; }) { Owner = _metroWindow }; dllPathRefer.ShowDialog(); }
/// <summary> /// 选择项发生变化后 /// </summary> /// <param name="sender"></param> private void DllEntry_CheckChanged(DgDllEntryClass sender) { var dgList = (List <DgDllEntryClass>)DataGridMain.ItemsSource; if (sender.IsChecked) { dgList.Where(a => a.Id != sender.Id).ForEach(a => a.IsChecked = false); EntryFunction = dgList.Single(a => a.Id == sender.Id).FullName; } else { EntryFunction = ""; } }
/// <summary> /// 选择项发生变化后 /// </summary> /// <param name="sender"></param> private void DllEntry_CheckChanged(DgDllEntryClass sender) { var dgList = _bannerManagerViewModel.DgDllEntries; if (sender.IsChecked) { dgList.Where(a => a.Id != sender.Id).ToList().ForEach(a => a.IsChecked = false); _bannerManagerViewModel.EntryFunction = dgList.Single(a => a.Id == sender.Id).FullName; } else { _bannerManagerViewModel.EntryFunction = ""; } }
private void BtnSelectDll_OnClick(object sender, RoutedEventArgs e) { var dllPathRefer = new DllPathRefer(dllPathSelTreeView => { _bannerManagerViewModel.DllPath = dllPathSelTreeView.FullPath.Remove(0, Config.DevPlatformPath.Length); var types = Assembly.LoadFile(dllPathSelTreeView.FullPath).GetTypes(); var id = 1; types.ForEach(a => { var dllEntry = new DgDllEntryClass { Id = id++, FullName = a.FullName }; dllEntry.CheckChanged += DllEntry_CheckChanged; _bannerManagerViewModel.DgDllEntries.Add(dllEntry); }); }) { Owner = _metroWindow }; dllPathRefer.ShowDialog(); }