private void ResolveMenu(ControlBase btn, XmlNodeList nodes) { //FineUI.Menu menu = new Menu(); //// 通过反射获取属性Menus //PropertyInfo info = btn.GetType().GetProperty("Menus"); //(info.GetValue(btn, null) as MenuCollection).Add(menu); PropertyInfo menuInfo = btn.GetType().GetProperty("Menu"); Menu menu = menuInfo.GetValue(btn, null) as Menu; foreach (XmlNode node in nodes) { XmlAttribute attrURL = node.Attributes["navigateurl"]; if (attrURL != null) { FineUI.MenuHyperLink lnk = new FineUI.MenuHyperLink(); lnk.Text = node.Attributes["text"].Value; lnk.NavigateUrl = attrURL.Value; lnk.Target = "_blank"; menu.Items.Add(lnk); if (node.ChildNodes.Count > 0) { ResolveMenu(lnk, node.ChildNodes); } } } }