NavigationViewItem.MenuItemsSource Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen einer Objektquelle, die zum Generieren der untergeordneten Elemente des NavigationViewItem verwendet wird.
Diese Dokumentation gilt für WinUI 2 für UWP (für WinUI im Windows App SDK, siehe Windows App SDK Namespaces).
public:
property Platform::Object ^ MenuItemsSource { Platform::Object ^ get(); void set(Platform::Object ^ value); };
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [get: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [set: Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
IInspectable MenuItemsSource();
void MenuItemsSource(IInspectable value);
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
public object MenuItemsSource { [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] get; [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)] set; }
Public Property MenuItemsSource As Object
<NavigationViewItem MenuItemsSource="{x:Bind Object}" .../>
Eigenschaftswert
Die Objektquelle, die die untergeordneten Elemente des NavigationViewItem-Objekts enthält.
- Attribute
-
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute
Beispiele
In diesem Beispiel wird eine Hierarchie hinzugefügt, indem die Elementvorlage als NavigationViewMenuItem definiert wird, wobei der Inhalt als Bezeichnung des Menüelements festgelegt ist, und seine MenuItemsSource-Eigenschaft, die an die nächste Ebene der Hierarchie gebunden ist.
<DataTemplate x:Key="NavigationViewMenuItem" x:DataType="local:Category">
<muxc:NavigationViewItem Content="{x:Bind Name}" MenuItemsSource="{x:Bind Children}"/>
</DataTemplate>
<muxc:NavigationView x:Name="navview"
MenuItemsSource="{x:Bind categories, Mode=OneWay}"
MenuItemTemplate="{StaticResource NavigationViewMenuItem}"
ItemInvoked="{x:Bind OnItemInvoked}"
Expanding="OnItemExpanding"
Collapsed="OnItemCollapsed"
PaneDisplayMode="Left">
<StackPanel Margin="10,10,0,0">
<TextBlock Margin="0,10,0,0" x:Name="ExpandingItemLabel" Text="Last Expanding: N/A"/>
<TextBlock x:Name="CollapsedItemLabel" Text="Last Collapsed: N/A"/>
</StackPanel>
</muxc:NavigationView>
public class Category
{
public String Name { get; set; }
public String Icon { get; set; }
public ObservableCollection<Category> Children { get; set; }
}
public sealed partial class HierarchicalNavigationViewDataBinding : Page
{
public HierarchicalNavigationViewDataBinding()
{
this.InitializeComponent();
}
public ObservableCollection<Category> Categories = new ObservableCollection<Category>()
{
new Category(){
Name = "Menu Item 1",
Icon = "Icon",
Children = new ObservableCollection<Category>() {
new Category(){
Name = "Menu Item 2",
Icon = "Icon",
Children = new ObservableCollection<Category>() {
new Category() {
Name = "Menu Item 2",
Icon = "Icon",
Children = new ObservableCollection<Category>() {
new Category() { Name = "Menu Item 3", Icon = "Icon" },
new Category() { Name = "Menu Item 4", Icon = "Icon" }
}
}
}
}
}
},
new Category(){
Name = "Menu Item 5",
Icon = "Icon",
Children = new ObservableCollection<Category>() {
new Category(){
Name = "Menu Item 6",
Icon = "Icon",
Children = new ObservableCollection<Category>() {
new Category() { Name = "Menu Item 7", Icon = "Icon" },
new Category() { Name = "Menu Item 8", Icon = "Icon" }
}
}
}
},
new Category(){ Name = "Menu Item 9", Icon = "Icon" }
};
private void OnItemInvoked(object sender, NavigationViewItemInvokedEventArgs e)
{
var clickedItem = e.InvokedItem;
var clickedItemContainer = e.InvokedItemContainer;
}
private void OnItemExpanding(object sender, NavigationViewItemExpandingEventArgs e)
{
var nvib = e.ExpandingItemContainer;
var name = "Last Expanding: " + nvib.Content.ToString();
ExpandingItemLabel.Text = name;
}
private void OnItemCollapsed(object sender, NavigationViewItemCollapsedEventArgs e)
{
var nvib = e.CollapsedItemContainer;
var name = "Last Collapsed: " + nvib.Content;
CollapsedItemLabel.Text = name;
}
}
public sealed class NavigationViewItemExpandingEventArgs
{
public NavigationViewItemExpandingEventArgs() {}
public object ExpandingItem { get; }
public NavigationViewItemBase ExpandedItemContainer { get; }
public bool IsSettingsInvoked { get; }
public NavigationTransitionInfo RecommendedNavigationTransitionInfo { get; }
}
public sealed class NavigationViewItemCollapsedEventArgs
{
public NavigationViewItemCollapsedEventArgs() {}
public object CollapsedItem { get; }
public NavigationViewItemBase CollapsedItemContainer { get; }
public bool IsSettingsInvoked { get; }
public NavigationTransitionInfo RecommendedNavigationTransitionInfo { get; }
}