// Main.xaml
<dxa:AccordionControl
ItemsSource="{Binding MenuViewItems}"
ChildrenPath="Menus"
Width="200"
SelectedItemChanged="AccordionControl_SelectedItemChanged"/>
// ViewModel
public class MenuViewModel
{
public string Name { get; set; }
public ObservableCollection<MenuModel> Menus { get; set; }
public MenuViewModel(string name, IEnumerable<MenuModel> menus)
{
Name = name;
Menus = new ObservableCollection<MenuModel>(menus);
}
public override string ToString()
{
return Name;
}
}
// DataModel
public class MenuModel
{
public string Group { get; set; }
public string Name { get; set; }
public override string ToString()
{
return Name;
}
}
public static class MenuItems
{
public static List<MenuModel> GetMenuItems()
{
List<MenuModel> items = new List<MenuModel>();
items.Add(new MenuModel() { Group = "SETTING", Name = "Password" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object1" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object2" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object3" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object4" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object5" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object6" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object7" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object8" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object9" });
items.Add(new MenuModel() { Group = "OBJECTS", Name = "Object10" });
return items;
}
}
// Result
