首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UWP Template10在菜单"IsOpen“时隐藏FontIcon元素

UWP Template10在菜单"IsOpen“时隐藏FontIcon元素
EN

Stack Overflow用户
提问于 2017-05-01 06:56:48
回答 1查看 159关注 0票数 0

我有以下xaml构造。

代码语言:javascript
复制
<Controls:HamburgerMenu x:Name="MyHamburgerMenu">
  <Controls:HamburgerMenu.PrimaryButtons>
    <Controls:HamburgerButtonInfo x:Name="searchButton">
      <FontIcon x:Name="searchButtonIcon" Width="48"
                                  Height="48"
                                  Glyph="&#xE094;"
                                  Visibility="{Binding IsOpen, ???"/>
      <AutoSuggestBox PlaceholderText="Search" QueryIcon="Find"/>
    <Controls:HamburgerButtonInfo x:Name="searchButton">
  </Controls:HamburgerMenu.PrimaryButtons>
</Controls:HamburgerMenu>

当菜单"IsOpen“时,应该折叠FontIcon元素。如果菜单不是"IsOpen",则FontIcon元素应该是可见的。

坡口音乐应用程序有这样的行为(参见带打开菜单的坡口音乐应用中的图像)。绑定的参数是哪些?菜单打开时Template10隐藏汉堡包按钮中描述了隐藏汉堡包按钮的一个解释。

我猜这是template10的行为。我在template10 10的Shell.xaml页面中尝试了以下内容。

代码语言:javascript
复制
<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为空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-08 06:17:54

所以很管用。将绑定更改为x: binding 并将其引用到"MyHamburgerMenu“。

代码语言:javascript
复制
<Controls:HamburgerMenu x:Name="MyHamburgerMenu">
  <Controls:HamburgerMenu.PrimaryButtons>
    <Controls:HamburgerButtonInfo x:Name="searchButton">
      <SymbolIcon Width="48"
                  Height="48"
                  Symbol="Find"
                  Visibility="{x:Bind MyHamburgerMenu.IsOpen, Mode=TwoWay, Converter={StaticResource BooleanToVisibilityConverter}, ConverterParameter=false}"/>
      <AutoSuggestBox PlaceholderText="Search" QueryIcon="Find"/>
    </Controls:HamburgerButtonInfo>
  </Controls:HamburgerMenu.PrimaryButtons>
</Controls:HamburgerMenu>

并使用可逆性BooleanToVisibilityConverter (如 )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43715448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档