This question is locked. New answers and comments are not allowed.
I'm creating a menu at runtime using an ObservableCollection. I load up this collection when the application first loads something like this:
So, I have an image defined to be used in certain menu items. In the XAML - I have a HierarchicalDataTemplate set up this way:
My question is - how do I add an element to the HierarchicalDataTemplate that will be able to access the image that is part of the binding to the control? Or - is there another way to accomplish this?
| private void LoadMenu() |
| { |
| BitmapImage bi = null; |
| /* Load menu items and the associated UserControls */ |
| menuDataItems = new ObservableCollection<MenuDataItem>(); |
| MenuDataItem validationLevel = new MenuDataItem() {Name = "Validation", NextPage = null}; |
| MenuDataItem rulesLevel = new MenuDataItem() { Name = "Rules", NextPage = null }; |
| MenuDataItem helpLevel = new MenuDataItem() { Name = "Help", NextPage = null }; |
| bi = new BitmapImage(new Uri("../Common/images/task.png", UriKind.Relative)); |
| MenuDataItem validItem = new MenuDataItem() |
| { |
| Name = "Validate", NextPage = typeof(ValidationView), |
| Icon = new Image() |
| { |
| Height = 16, |
| Width = 16, |
| Source = bi |
| } |
| }; |
| validationLevel.Add(validItem); |
| MenuDataItem ruleItem = new MenuDataItem() { Name = "View Rules", NextPage = typeof(RulesView) }; |
| rulesLevel.Add(ruleItem); |
| ruleItem = new MenuDataItem() { Name = "New Rule", NextPage = null }; |
| rulesLevel.Add(ruleItem); |
| MenuDataItem helpItem = new MenuDataItem() { Name = "About", NextPage = null }; |
| helpLevel.Add(helpItem); |
| menuDataItems.Add(validationLevel); |
| menuDataItems.Add(rulesLevel); |
| menuDataItems.Add(helpLevel); |
| mnuMain.ItemsSource = menuDataItems; |
| } |
| <telerik:RadMenu Grid.Row="1" x:Name="mnuMain" HorizontalAlignment="Stretch" VerticalAlignment="Top"> |
| <telerik:RadMenu.ItemTemplate> |
| <core:HierarchicalDataTemplate ItemsSource="{Binding}"> |
| <TextBlock Text="{Binding Name}"/> |
| </core:HierarchicalDataTemplate> |
| </telerik:RadMenu.ItemTemplate> |
| </telerik:RadMenu> |