NavigationViewItem.MenuItemsSource Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает источник объекта, используемый для создания дочерних элементов Объекта NavigationViewItem.
Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).
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}" .../>
Значение свойства
Источник объекта, содержащий дочерние элементы Объекта NavigationViewItem.
- Атрибуты
-
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute
Примеры
В этом примере иерархия добавляется путем определения шаблона элемента в качестве элемента NavigationViewMenuItem, а его content set to the label of the menu item, and its MenuItemsSource property bound to the next level of the hierarchy.
<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; }
}