【发布时间】:2018-01-12 21:26:04
【问题描述】:
我想在我的NavigationView 中动态填充NavigationViewItems 和NavigationViewItemHeaders。但是,我不能让它工作。看起来我的ListView只占用了一项的空间。如何动态创建新项目?
MainMenu.xaml
<NavigationView x:Name="NavViewTester"
ItemInvoked="NavViewTester_ItemInvoked"Loaded="NavViewTester_Loaded"
IsPaneToggleButtonVisible="True" IsPaneOpen="True">
<NavigationView.MenuItems>
<NavigationViewItemHeader Content="My Books">
</NavigationViewItemHeader>
</NavigationViewItemHeader>
<Grid x:Name="BooksGrid">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="320" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ListView
x:Name="NavigationListView"
Grid.Row="1"
ItemTemplate="{StaticResource NavigationListViewItemTemplate}"
ItemsSource="{x:Bind books.getBooks()}"
IsItemClickEnabled="True"
ItemClick="NavigationListView_ItemClick"
>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
</Grid>
</NavigationView.MenuItems>
我也尝试过NavigationViewList 而不是我的ListView,但它没有帮助。
【问题讨论】:
-
你是如何定义
books和getBooks()方法和NavigationListViewItemTemplate的?请提供您的 c# 代码,否则我无法为您提供更多帮助。