public AdbInfoTreeUnit(MInfoType tp) : base(MInfoTypeHelper.GetInfoTypeWord(tp)) { this.MInfoType = tp; }
public AdbInfoesCheckedViewModel() : base(1) { var mobileInfoNode = new AdbTreeUnit(LanguageService.FindResourceString("PhoneInfoAquiredItems")); var mobileFileNode = new AdbTreeUnit(LanguageService.FindResourceString("PhoneFileAquiredItems")); Action <AdbTreeUnit, MInfoType> addInfoAct = (node, tp) => { //对于所有文件项,将进行的特殊处理; if (tp == MInfoType.AllFiles) { var child = new AdbAllFileTreeUnit(MInfoTypeHelper.GetInfoTypeWord(tp)) { Level = 1 }; child.IsChecked = false; node.Children.Add(child); child.CheckStateChanged += (sender, e) => { //若选中所有文件,将其他文件进行选中处理; if (e ?? false) { foreach (var item in node.Children) { if (item != child) { //item.IsChecked = true; //item.IsEnabled = false; } } } else { foreach (var item in node.Children) { item.IsEnabled = true; } } }; } else { var child = new AdbInfoTreeUnit <IInfo>(tp) { Level = 1 }; node.Children.Add(child); child.CheckStateChanged += (sender, e) => { if (e != null) { if (e == node.IsChecked) { return; } if (node.Children.FirstOrDefault(p => p.IsChecked != e.Value) != null) { node.IsChecked = null; } else { node.IsChecked = e; } } }; } }; foreach (var tp in Enum.GetValues(typeof(MInfoType))) { if ((MInfoType)tp == MInfoType.BackUp) { var unit = new AdbBackUpFilesTreeUnit(); mobileFileNode.Children.Add(unit); } else { switch (MInfoTypeHelper.GetMInfoTypeBox((MInfoType)tp)) { case MInfoTypeBox.AdbFile: addInfoAct(mobileFileNode, (MInfoType)tp); break; case MInfoTypeBox.AdbInfo: addInfoAct(mobileInfoNode, (MInfoType)tp); break; } } } AdbUnits.Add(mobileInfoNode); AdbUnits.Add(mobileFileNode); }
public AdbBackUpFilesTreeUnit(string relPath = null) : base(MInfoTypeHelper.GetInfoTypeWord(MInfoType.BackUp)) { this.Direct = relPath; this.Level = 1; }