0
我開發一個WPF項目,以下多個類型的對象是菜單的我的數據模型代碼數據綁定到菜單
class NavigationMenu
{
public abstract class MenuBase
{
public MenuBase()
{
}
public MenuBase(string title)
{
MenuTitle = title;
}
public Guid MenuId { get; set; }
public string MenuTitle { get; set; }
public string ImageResourceName { get; set; }
}
public class MenuItem : MenuBase
{
public MenuItem()
{
}
public MenuItem(string title)
: base(title)
{
}
public string View { get; set; }
}
public class MenuCategory : MenuBase
{
public MenuCategory()
{
MenuItems = new ObservableCollection<MenuItem>();
}
public MenuCategory(string title)
: base(title)
{
MenuItems = new ObservableCollection<MenuItem>();
}
public MenuCategory(string CategoryTitle, ObservableCollection<MenuItem> pMenuItems)
: base(CategoryTitle)
{
this.MenuItems = pMenuItems;
}
public ObservableCollection<MenuItem> MenuItems { get; set; }
}
public class MainMenuItem : MenuBase
{
public MainMenuItem()
{
MenuCategories = new ObservableCollection<MenuCategory>();
}
public MainMenuItem(string title)
: base(title)
{
MenuCategories = new ObservableCollection<MenuCategory>();
}
public ObservableCollection<MenuCategory> MenuCategories { get; set; }
}
}
爲RadMenu
的XAML如下所示,
<ui:RadMenu Name="radMenu1" ItemsSource="{Binding MenuBar}" Height="76">
<ui:RadMenu.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Path=MenuCategories}">
<StackPanel Height="Auto">
<Image MaxWidth="32" MaxHeight="32" Source="{Binding Path=ImageResourceName}" />
<TextBlock HorizontalAlignment="Center">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConv}">
<Binding Path="MenuId"></Binding>
<Binding Path="MenuTitle"></Binding>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
</ui:RadMenu.ItemTemplate>
</ui:RadMenu>
我得到的問題是,MenuCategories已成功顯示,但內部MenuCategory
未顯示。很顯然,我沒有綁定MenuItems
但是MenuCategories
。但我不知道如何綁定MenuItems
以及在上面DataTemplate
?任何想法?
現在它沒有顯示任何東西嗎? :( – 2012-07-16 13:29:28