【发布时间】:2016-10-26 12:42:14
【问题描述】:
我有一个带有 PrimaryButtons 和 SecondaryButton 的 Template 10 汉堡菜单。 在 PrimaryButtons 中,我有三个带有 ButtonType="Literal" 的 HamburgerButtonInfo。第一个有一个包含用户信息的 Stackpanel,第二个有一个包含 5 个条目的 ListView,第三个有一个包含许多条目的 ListView。现在我的整个 PrimaryButtons 都是可滚动的,因为最后一个 ListView 太长了。 我的目标是让前两个 HamburgerButtonInfos 始终可见(粘性),最后一个是可滚动的。 有什么想法吗?
更新:XamlCode
<Controls:HamburgerMenu x:Name="MyHamburgerMenu">
<Controls:HamburgerMenu.PrimaryButtons>
<!-- account data -->
<Controls:HamburgerButtonInfo ButtonType="Literal" ScrollViewer.VerticalScrollMode="Disabled">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Image Width="38" Height="38" Margin="5" Source="../Assets/ProfilePlaceholder.png" />
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<TextBlock Text="{x:Bind Path=ViewModel.Account.UserName, Mode=OneWay}" FontSize="18" />
<TextBlock Text="{x:Bind Path=ViewModel.Account.PrimaryAddress, Mode=OneWay}" TextTrimming="CharacterEllipsis" FontSize="16" />
</StackPanel>
</StackPanel>
<Line StrokeThickness="2" Stroke="#cacaca" X2="300" Margin="10,5" />
</StackPanel>
</Controls:HamburgerButtonInfo>
<!-- standard folder -->
<Controls:HamburgerButtonInfo ButtonType="Literal">
<ListView ItemsSource="{x:Bind Path=ViewModel.StandardFolderList, Mode=OneWay}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=Type, Converter={StaticResource FolderTypeToImageSourceConverter}}" Width="19" Height="19" Margin="0,0,20,0" />
<TextBlock Text="{Binding Path=Name}" FontSize="14" VerticalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Controls:HamburgerButtonInfo>
<!-- user folder -->
<Controls:HamburgerButtonInfo ButtonType="Literal">
<StackPanel x:Name="UserFolderListView">
<TextBlock Text="Folders" FontSize="14" Foreground="#8f8f8f" Margin="5" Visibility="{x:Bind Path=ViewModel.UserFolderList, Mode=OneWay, Converter={StaticResource ValueNotNullToVisibilityConverter}}"/>
<toolkit:TreeView ItemsSource="{x:Bind Path=ViewModel.UserFolderList, Mode=OneWay}" Background="#fafafa">
<toolkit:TreeView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}"/>
<TextBlock Text="{Binding Path=Counter}" />
</StackPanel>
<data:DataTemplateExtensions.Hierarchy>
<data:HierarchicalDataTemplate ItemsSource="{Binding ChildFolder}" />
</data:DataTemplateExtensions.Hierarchy>
</DataTemplate>
</toolkit:TreeView.ItemTemplate>
</toolkit:TreeView>
</StackPanel>
</Controls:HamburgerButtonInfo>
</Controls:HamburgerMenu.PrimaryButtons>
<Controls:HamburgerMenu.SecondaryButtons>
<!-- settingspage button -->
<Controls:HamburgerButtonInfo x:Name="SettingsButton" PageParameter="0"
PageType="views:SettingsPage">
<Controls:HamburgerButtonInfo.NavigationTransitionInfo>
<SuppressNavigationTransitionInfo />
</Controls:HamburgerButtonInfo.NavigationTransitionInfo>
<StackPanel Orientation="Horizontal">
<SymbolIcon Width="48" Height="48"
Symbol="Setting" />
<TextBlock Margin="12,0,0,0" VerticalAlignment="Center"
Text="Settings" />
</StackPanel>
</Controls:HamburgerButtonInfo>
</Controls:HamburgerMenu.SecondaryButtons>
</Controls:HamburgerMenu>
感谢
【问题讨论】:
-
请出示您的 xaml 代码。
-
你检查我的答案了吗?这是接受的吗?
标签: uwp template10 hamburger-menu