@@ -22,121 +22,139 @@ The data source can be bound to MenuItemAdv by using the ItemsSource property. W
22
22
{% tabs %}
23
23
{% highlight xaml %}
24
24
25
+ <shared: MenuAdv x: Name ="Menu">
26
+ <shared: MenuItemAdv Header="File"/>
27
+ <shared: MenuItemAdv Header="Edit"/>
28
+ <shared: MenuItemAdv Header="View"/>
29
+ <shared: MenuItemAdv Header="Project"/>
30
+ <shared: MenuItemAdv Header="Data Binding">
31
+ <shared: MenuItemAdv Header="DataTemplate Example">
32
+ < shared:MenuItemAdv.ItemsSource >
33
+ < local:MenuListCollection/ >
34
+ </shared: MenuItemAdv .ItemsSource>
35
+ < shared:MenuItemAdv.ItemTemplate >
36
+ <DataTemplate >
37
+ <TextBlock Text =" {Binding Caption} " />
38
+ </DataTemplate >
39
+ </shared: MenuItemAdv .ItemTemplate>
40
+ </shared: MenuItemAdv >
41
+ <shared: MenuItemAdv Header="HierarchicalDataTemplateExample">
42
+ < shared:MenuItemAdv.ItemsSource >
43
+ < local:CustomItemsSource/ >
44
+ </shared: MenuItemAdv .ItemsSource>
45
+ < shared:MenuItemAdv.ItemTemplate >
46
+ <HierarchicalDataTemplate ItemsSource =" {Binding Items} " >
47
+ <TextBlock Text =" {Binding myString} " />
48
+ </HierarchicalDataTemplate >
49
+ </shared: MenuItemAdv .ItemTemplate>
50
+ </shared: MenuItemAdv >
51
+ </shared: MenuItemAdv >
52
+ </shared: MenuAdv >
25
53
26
-
27
- <shared: MenuAdv x: Name ="Menu">
28
- <shared: MenuItemAdv Header="File"/>
29
- <shared: MenuItemAdv Header="Edit"/>
30
- <shared: MenuItemAdv Header="View"/>
31
- <shared: MenuItemAdv Header="Project"/>
32
- <shared: MenuItemAdv Header="Data Binding">
33
- <shared: MenuItemAdv Header="DataTemplate Example">
34
- < shared:MenuItemAdv.ItemsSource >
35
- < local:MenuListCollection/ >
36
- </shared: MenuItemAdv .ItemsSource>
37
- < shared:MenuItemAdv.ItemTemplate >
38
- <DataTemplate >
39
- <TextBlock Text =" {Binding Caption} " />
40
- </DataTemplate >
41
- </shared: MenuItemAdv .ItemTemplate>
42
- </shared: MenuItemAdv >
43
- <shared: MenuItemAdv Header="HierarchicalDataTemplateExample”>
44
- < shared:MenuItemAdv.ItemsSource >
45
- < local:CustomItemsSource/ >
46
- </shared: MenuItemAdv .ItemsSource>
47
- < shared:MenuItemAdv.ItemTemplate >
48
- <hdt: HierarchicalDataTemplate ItemsSource="{Binding Items}">
49
- <TextBlock Text =" {Binding myString} " />
50
- </hdt: HierarchicalDataTemplate >
51
- </shared: MenuItemAdv .ItemTemplate>
52
- </shared: MenuItemAdv >
53
- </shared: MenuItemAdv >
54
- </shared: MenuAdv ><
55
54
{% endhighlight %}
56
-
57
55
{% highlight C# %}
58
56
59
-
60
57
public class MenuList
61
- {
62
- public int MenuID { get; set; }
63
- public string Caption { get; set; }
64
- public MenuList() { }
65
- public MenuList(string capt, int id)
66
- {
67
- Caption = capt;
68
- MenuID = id;
69
- }
70
- }
71
- public class MenuListCollection : ObservableCollection<MenuList >
72
- {
73
- public MenuListCollection()
74
- {
75
- for (int i = 0; i < 5; i++)
76
- {
77
- this.Add(new MenuList()
78
- {
79
- MenuID = i, Caption = "Menu " + (i + 1).ToString() });
80
- }
81
- }
82
- }
83
- public class ObjectModel
84
- {
85
- public ObjectModel(string myString1, params ObjectModel[ ] myItems)
86
- {
87
- myString = myString1;
88
- ObservableCollection<ObjectModel > itemsObservableCollection = new ObservableCollection<ObjectModel >();
89
- foreach (var item in myItems)
90
- {
91
- itemsObservableCollection.Add(item);
92
- }
93
- Items = itemsObservableCollection;
94
- }
95
- public string myString { get; set; }
96
- public ObservableCollection<ObjectModel > Items { get; set; }}
97
- public class CustomItemSource : ObservableCollection<ObjectModel >
98
- {
99
- public CustomItemSource()
100
- {
101
- this.Add(new ObjectModel("User Interface Edition",
102
- new ObjectModel("ASP.NET", new ObjectModel("Tools",
103
- new ObjectModel("Menu"), new ObjectModel("Toolbar"),
104
- new ObjectModel("RangeSlider")), new ObjectModel("Diagram"),
105
- new ObjectModel("Gauge"), new ObjectModel("Chart")),
106
- new ObjectModel("ASP.NET MVC"), new ObjectModel("Windows Forms"),
107
- new ObjectModel("WPF", new ObjectModel("Tools", new
108
- ObjectModel("Menu"), new ObjectModel("Toolbar"), new
109
- ObjectModel("RangeSlider")), new ObjectModel("Diagram"), new
110
- ObjectModel("Gauge"), new ObjectModel("Chart")), new
111
- ObjectModel("Silverlight", new ObjectModel("Tools", new
112
- ObjectModel("Menu"), new ObjectModel("Toolbar"), new
113
- ObjectModel("RangeSlider")), new ObjectModel("Diagram"), new
114
- ObjectModel("Gauge"), new ObjectModel("Chart"))));
115
- this.Add(new ObjectModel("Reporting Edition",
116
- new ObjectModel("Essential Reports"), new ObjectModel
117
- ("Essential XlsIO"), new ObjectModel("Essential DocIO"),
118
- new ObjectModel("Essential PDF"), new ObjectModel("Essential
119
- Calculate"), new ObjectModel("Essential Grouping")));
120
- this.Add(new ObjectModel("Business Intelligence",
121
- new ObjectModel("Essential BI Chart"), new ObjectModel
122
- ("Essential BI Client"), new ObjectModel("Essential BI Grid"),
123
- new ObjectModel("Essential BI Gauge")));
124
- }
125
- }
58
+ {
59
+ public int MenuID { get; set; }
60
+ public string Caption { get; set; }
61
+
62
+ public MenuList() { }
63
+
64
+ public MenuList(string capt, int id)
65
+ {
66
+ Caption = capt;
67
+ MenuID = id;
68
+ }
69
+ }
70
+
71
+ public class MenuListCollection : ObservableCollection<MenuList >
72
+ {
73
+ public MenuListCollection()
74
+ {
75
+ for (int i = 0; i < 5; i++)
76
+ {
77
+ this.Add(new MenuList
78
+ {
79
+ MenuID = i,
80
+ Caption = "Menu " + (i + 1).ToString()
81
+ });
82
+ }
83
+ }
84
+ }
85
+
86
+ public class ObjectModel
87
+ {
88
+ public ObjectModel(string myString1, params ObjectModel[ ] myItems)
89
+ {
90
+ myString = myString1;
91
+ ObservableCollection<ObjectModel > itemsObservableCollection = new ObservableCollection<ObjectModel >();
92
+ foreach (var item in myItems)
93
+ {
94
+ itemsObservableCollection.Add(item);
95
+ }
96
+ Items = itemsObservableCollection;
97
+ }
98
+
99
+ public string myString { get; set; }
100
+ public ObservableCollection<ObjectModel> Items { get; set; }
101
+ }
102
+
103
+ public class CustomItemSource : ObservableCollection<ObjectModel >
104
+ {
105
+ public CustomItemSource()
106
+ {
107
+ this.Add(new ObjectModel("User Interface Edition",
108
+ new ObjectModel("ASP.NET",
109
+ new ObjectModel("Tools",
110
+ new ObjectModel("Menu"),
111
+ new ObjectModel("Toolbar"),
112
+ new ObjectModel("RangeSlider")),
113
+ new ObjectModel("Diagram"),
114
+ new ObjectModel("Gauge"),
115
+ new ObjectModel("Chart")),
116
+ new ObjectModel("ASP.NET MVC"),
117
+ new ObjectModel("Windows Forms"),
118
+ new ObjectModel("WPF",
119
+ new ObjectModel("Tools",
120
+ new ObjectModel("Menu"),
121
+ new ObjectModel("Toolbar"),
122
+ new ObjectModel("RangeSlider")),
123
+ new ObjectModel("Diagram"),
124
+ new ObjectModel("Gauge"),
125
+ new ObjectModel("Chart")),
126
+ new ObjectModel("Silverlight",
127
+ new ObjectModel("Tools",
128
+ new ObjectModel("Menu"),
129
+ new ObjectModel("Toolbar"),
130
+ new ObjectModel("RangeSlider")),
131
+ new ObjectModel("Diagram"),
132
+ new ObjectModel("Gauge"),
133
+ new ObjectModel("Chart"))
134
+ ));
135
+
136
+ this.Add(new ObjectModel("Reporting Edition",
137
+ new ObjectModel("Essential Reports"),
138
+ new ObjectModel("Essential XlsIO"),
139
+ new ObjectModel("Essential DocIO"),
140
+ new ObjectModel("Essential PDF"),
141
+ new ObjectModel("Essential Calculate"),
142
+ new ObjectModel("Essential Grouping")));
143
+
144
+ this.Add(new ObjectModel("Business Intelligence",
145
+ new ObjectModel("Essential BI Chart"),
146
+ new ObjectModel("Essential BI Client"),
147
+ new ObjectModel("Essential BI Grid"),
148
+ new ObjectModel("Essential BI Gauge")));
149
+ }
150
+ }
126
151
{% endhighlight %}
127
-
128
152
{% endtabs %}
129
153
130
-
131
-
132
154
![ Adding menu items using data binding in WPF MenuAdv control] ( Binding-and-DataTemplate-Support_images/Binding-and-DataTemplate-Support_img1.png )
133
155
134
-
135
-
136
156
![ Adding hierarchical menu items using data template in WPF MenuAdv control ] ( Binding-and-DataTemplate-Support_images/Binding-and-DataTemplate-Support_img2.png )
137
157
138
-
139
-
140
158
### Sample Link
141
159
142
160
WPF Sample Browser-> Tools -> MenuAdv -> MenuAdv Demo
0 commit comments