2016-12-24 4 views
1

私はこのバグを把握することができませんので、それはまだ起こる最も簡単なバージョンに取り除きました。UWP - ボタンのフライアウトは何とか高さロックされています

これは私のXAMLコードです:

<Grid> 
    <Button x:Name="button1" Content="Button" VerticalAlignment="Top"> 
     <Button.Flyout> 
      <Flyout Placement="Right"> 
       <Flyout.FlyoutPresenterStyle> 
        <Style TargetType="FlyoutPresenter"> 
         <Setter Property="Padding" Value="0"/> 
         <Setter Property="Margin" Value="0"/> 
         <Setter Property="BorderThickness" Value="0"/> 
        </Style> 
       </Flyout.FlyoutPresenterStyle> 
       <Grid Name="PopupGrid" Background="Aqua"/> 
      </Flyout> 
     </Button.Flyout> 
    </Button> 
</Grid> 

そして私は、そのページの一つのイベントがあります。

private void Page_SizeChanged(object sender, SizeChangedEventArgs e) 
{ 
    PopupGrid.Height = Window.Current.Bounds.Height; 
} 

次のようにそのコードのために予想される動作は次のとおりです。ボタンを押すと、ポップアップが開き、ウィンドウ全体に垂直に伸びます。私の窓が高すぎるまで、これは完璧に動作します。 Here's私が説明しているもののGIF。

ご覧のとおり、ポップアップはウィンドウの高さである必要があると考えていますが、何らかの理由で何らかの点で拡大が停止し、スクロールバーが追加されます。

ここに何も表示されていませんか?または、これらのフライアウトには、聞いたことがない任意の最大の高さがありますか?

答えて

1

フライアウトには最大限の制限があります。

<Setter Property="MinWidth" Value="{ThemeResource FlyoutThemeMinWidth}"/> 
<Setter Property="MaxWidth" Value="{ThemeResource FlyoutThemeMaxWidth}"/> 
<Setter Property="MinHeight" Value="{ThemeResource FlyoutThemeMinHeight}"/> 
<Setter Property="MaxHeight" Value="{ThemeResource FlyoutThemeMaxHeight}"/> 

そしてFlyoutThemeMaxHeightは、テーマリソースである758を表します:

<x:Double x:Key="FlyoutThemeMaxHeight">758</x:Double> 

あなたはPositiveInfinityFlyoutPresenterMaxHeightをリセットしようとすることができます(FlyoutPresenter styles and templatesでは、あなたはFlyoutPresenterFlyoutThemeMaxHeightに設定MaxHeight性質を持って見つけることができます単に "Infinity"とXAMLで設定することができます)、次のように、グリッドはウィンドウ全体に垂直に伸びる必要があります。

<Button x:Name="button1" VerticalAlignment="Top" Content="Button"> 
    <Button.Flyout> 
     <Flyout Placement="Right"> 
      <Flyout.FlyoutPresenterStyle> 
       <Style TargetType="FlyoutPresenter"> 
        <Setter Property="Padding" Value="0" /> 
        <Setter Property="Margin" Value="0" /> 
        <Setter Property="BorderThickness" Value="0" /> 
        <Setter Property="MaxHeight" Value="Infinity" /> 
       </Style> 
      </Flyout.FlyoutPresenterStyle> 
      <Grid Name="PopupGrid" Background="Aqua" /> 
     </Flyout> 
    </Button.Flyout> 
</Button> 
関連する問題