2017-03-07 95 views

回答

0

我希望它看起来像在NarrowViewState一个按钮。

我想你可以通过使用VisualStateManager来达到预期的效果。

对于您的情况,你可以打开AutoSuggestBox成按钮NarrowViewState使用MinWindowWidthAdaptiveTrigger。您可以尝试下面的代码或参考我上传的project

<StackPanel 
    x:Name="LayoutRoot" 
    Height="640" 
    VerticalAlignment="Bottom" 
    Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <AutoSuggestBox 
     x:Name="SuggestBox" 
     PlaceholderText="Search some info!" 
     QueryIcon="AlignRight" /> 
    <Button x:Name="SearchBtn" Content="SearchButton"> 
     <Button.Flyout> 
      <Flyout Placement="Bottom"> 
       <StackPanel> 
        <AutoSuggestBox x:Name="MiniSuggsetBox" PlaceholderText="search some info..." /> 
       </StackPanel> 
      </Flyout> 
     </Button.Flyout> 
    </Button> 
    <VisualStateManager.VisualStateGroups> 
     <VisualStateGroup x:Name="WindowStates"> 
      <VisualState x:Name="Normal"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="600" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="SuggestBox.Visibility" Value="Visible" /> 
        <Setter Target="SearchBtn.Visibility" Value="Collapsed" /> 
       </VisualState.Setters> 
      </VisualState> 
      <VisualState x:Name="Hide"> 
       <VisualState.StateTriggers> 
        <AdaptiveTrigger MinWindowWidth="0" /> 
       </VisualState.StateTriggers> 
       <VisualState.Setters> 
        <Setter Target="SuggestBox.Visibility" Value="Collapsed" /> 
        <Setter Target="SearchBtn.Visibility" Value="Visible" /> 
       </VisualState.Setters> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 
</StackPanel> 

这张截图 enter image description here

+0

谢谢你这么多@Nico,它的工作相当不错! – Yvder

+0

现在我想让Flyout出现并填充PageHeader,正如我在此处所述:http://stackoverflow.com/questions/42820443/xaml-uwp-flyout-positioning 请问,我该如何执行该操作? – Yvder