好的,我有这个:
if(something!=null)
{
SubMenu.Add(new SubMenuModel("PERSONAL_INFORMATION","account.personalinformation","/account/personalinformation"));
}
if(something123!=null)
{
SubMenu.Add(new SubMenuModel("NOTIFICATIONS", "account.notificationsettings", "/account/notifications"));
}
SubMenu.Add(new SubMenuModel("CHANGE_PASSWORD", "account.changepassword", "/account/passwordchange"));
SubMenu.Add(new SubMenuModel("GAME_SETTINGS", "default", "default"));
MainMenu.Add(new MainMenuModel("SETTINGS", "default", "default", true,
}));
编辑:
public List<SubMenuModel> SubMenu { get; set; }
public List<MainMenuModel> MainMenu { get; set; }
如何将此SubMenu
添加到Main menu
中,因为我有条件所以如果条件是!= null添加到列表...任何sugesstion?
答案 0 :(得分:4)
您可以关注此link。
你只需做MainMenu.AddRange(SubMenu);
希望我帮助你
编辑:好的,你可以这样做我认为你可以将MenuItems添加到现有的MenuItem,如:
MenuItem addDevice = new MenuItem("Add Device");
addDevice.MenuItems.Add( new MenuItem("Add More .."));
It would be visible like:
我看到这个解决方案here,它对我有用。
答案 1 :(得分:0)
如果您的MainMenu和SubMenu共享相同的属性或方法,我建议您使用界面。
public interface IMenu
{
int a { get; set; }
string b {get; set; }
}
public class SubMenu : IMenu
{
public int a { get; set; }
public string b { get; set; }
public double c { get; set; }
}
public class MainMenu : IMenu
{
public int a { get; set; }
public string b { get; set; }
public string d { get; set; }
}
所以你可以像这样使用addrange
List<IMenu> menuList = new List<IMenu>();
List<MainMenu> mainMenuList = new List<MainMenu>();
List<SubMenu> subMenuList = new List<SubMenu>();
menuList .AddRange(mainMenuList);
menuList .AddRange(subMenuList);
编辑::
通过这句话推荐“@ Boot750我在主菜单中有这个公共ListSubMenu {get; set;}”
所以就这样做吧
var mainMenu = new List<MainMenu>();
var subMenuToAdd = new List<SubMenu>().Add(new SubMenu() { .. });
mainMenu.SubMenu = subMenuToAdd;