windows - NavigationView中的UWP ListView,仅呈现第一个子级

标签 windows xaml uwp uwp-xaml

我想要一个NavigationView,其中包含一些比普通NavigationViewItem稍微复杂的元素。更具体地说,我的目标是在ListView部分之后,在我的NavigationView中间的某个地方放置一个NavigationView.MenuItems。但是由于某些原因,当我尝试使用ListView(或StackPanel)时,仅呈现第一个 child 。

一些XAML重现此问题:

<NavigationView x:Name="mainNavigation" PaneDisplayMode="Left" ItemInvoked="OnNavigationViewItemInvoked" Loaded="OnNavigationViewLoaded">
    <NavigationView.MenuItems>
        <NavigationViewItemHeader Content="Favorites" />
        <NavigationViewItem Content="Space 1" />
        <NavigationViewItem Content="Space 2" />
        <NavigationViewItemSeparator Margin="0,0,0,20" />

        <NavigationViewItem>
            <AutoSuggestBox QueryIcon="Find" PlaceholderText="Search for a space" Width="288" />
        </NavigationViewItem>
        <NavigationViewItem>
            <ListView>
                <ListViewItem>
                    <TextBlock Text="Test1" />
                </ListViewItem>
                <ListViewItem>
                    <TextBlock Text="Test2" />
                </ListViewItem>
                <ListViewItem>
                    <TextBlock Text="Test3" />
                </ListViewItem>
            </ListView>
        </NavigationViewItem>
    </NavigationView.MenuItems>

    <Frame x:Name="rootFrame" />
</NavigationView>

呈现给:

enter image description here

如您在此屏幕快照中所见,只有第一个 child (“Test1”)可见,由于我不了解的原因,未渲染“Test2”和“Test3”。

最佳答案

默认情况下,ListViewItem是固定高度。您可以通过在XAML中内联更新模板来更改此设置:

<NavigationViewItem>
  <NavigationViewItem.Template>
    <ControlTemplate>
      <Border Height="auto">
        <ContentPresenter/>
      </Border>
    </ControlTemplate>
  </NavigationViewItem.Template>
  <ListView>
    <!-- your items -->
  </ListView>
</NavigationViewItem>

关于windows - NavigationView中的UWP ListView,仅呈现第一个子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59585719/

相关文章:

xaml - 如何在xaml中添加Event事件处理程序?

c# - 为什么我的 SplitView 的内容和 Pane 在同一区域?

UWP:如何在机器上未安装 AppX Installer 时安装旁加载应用程序

c++ - Windows 上的 __LP64__?

wpf - 在其内部 ComboBox 获得焦点时选择 ListBoxItem

java - 如何让 IzPack 将程序添加到程序和功能

c# - 在 Xamarin 跨平台应用程序中呈现带有 ObservableCollection 数据的 DisplayActionSheet

c# - 在 UWP 应用程序中合并 ResourceDictionary 初始化

c++ - 如何将 streamsize 转换为其他或如何将 streamsize 值传递给 vector?

c++ - QMediaPlayer 在 Windows 上使用西里尔文错误解析 url