Exemple #1
0
 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);
 }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }