bool FindInItem(TileNavItem item, string tag, out TileNavElement found) { if (item.Tag != null && string.Equals(item.Tag.ToString(), tag)) { found = item; return(true); } //第三级 foreach (TileNavSubItem subitem in item.SubItems) { if (string.Equals(subitem.Tag.ToString(), tag)) { found = subitem; return(true); } } found = null; return(false); }
bool FindInCategory(TileNavCategory category, string tag, out TileNavElement found) { TileNavElement result = null; //第一级 if (category.Tag != null && string.Equals(category.Tag.ToString(), tag)) { found = category; return(true); } //第二级 foreach (TileNavItem item in category.Items) { if (FindInItem(item, tag, out result)) { found = result; return(true); } } found = null; return(false); }
public TileNavElement FindElementByName(TileNavPane control, string tag) { if (tag == null) { return(null); } TileNavElement result = null; foreach (TileNavCategory category in control.Categories) { if (FindInCategory(category, tag, out result)) { return(result); } } if (FindInCategory(control.DefaultCategory, tag, out result)) { return(result); } return(result); }