【发布时间】:2017-05-01 06:56:48
【问题描述】:
我有以下 xaml 构造。
<Controls:HamburgerMenu x:Name="MyHamburgerMenu">
<Controls:HamburgerMenu.PrimaryButtons>
<Controls:HamburgerButtonInfo x:Name="searchButton">
<FontIcon x:Name="searchButtonIcon" Width="48"
Height="48"
Glyph=""
Visibility="{Binding IsOpen, ???"/>
<AutoSuggestBox PlaceholderText="Search" QueryIcon="Find"/>
<Controls:HamburgerButtonInfo x:Name="searchButton">
</Controls:HamburgerMenu.PrimaryButtons>
</Controls:HamburgerMenu>
当菜单“IsOpen”时,FontIcon 元素应该被折叠。如果菜单不是“IsOpen”,则 FontIcon 元素应该是可见的。
groove 音乐应用有这样的行为(见groove music app with opened menu 中的图片)。 绑定的参数有哪些? UWP Template10 Hide hamburger button when menu is open 中描述了隐藏汉堡按钮的说明。
我猜这是 template10 的行为。我在 template10 的 Shell.xaml 页面中尝试了以下操作。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="txt-1" Text="{Binding IsOpen, ElementName=MyHamburgerMenu}" Grid.Row="0"/>
<Controls:HamburgerMenu x:Name="MyHamburgerMenu" Grid.Row="1">
<Controls:HamburgerMenu.PrimaryButtons>
<Controls:HamburgerButtonInfo>
<TextBlock x:Name="txt-2" Text="{Binding IsOpen, ElementName=MyHamburgerMenu}"/>
</Controls:HamburgerButtonInfo>
</Controls:HamburgerMenu.PrimaryButtons>
</Controls:HamburgerMenu>
</Grid>
TextBlock txt-1 显示 HamburgerMenu 的 IsOpen 属性的正确状态,而 TextBlock txt-2 为空。
【问题讨论】:
标签: binding uwp winrt-xaml template10 hamburger-menu