如何让弹出宽度调整为应用程序宽度

本文关键字:调整 应用程序 | 更新日期: 2023-09-27 18:26:33

我在metro风格的应用程序中使用Flyouts,该应用程序使用MahApps metro包:

<Controls:MetroWindow.Flyouts>
    <Controls:FlyoutsControl>
        <Controls:Flyout Header="INSTELLINGEN" Position="Left" Width="600" Theme="Dark">
            some content
        </Controls:Flyout>
    </Controls:FlyoutsControl>
</Controls:MetroWindow.Flyouts>

这很好,但现在我想要一个Flyout,它占据整个应用程序的宽度,即使用户调整了它的大小。基本上我想要Width="*",但这不起作用。

如何让弹出宽度调整为应用程序宽度

下面是一个适用于最新alpha版本(0.15)的示例

只需设置MarginWidth,即可获得所需内容。

  <controls:MetroWindow.Flyouts>
    <controls:FlyoutsControl>
      <controls:Flyout Header="INSTELLINGEN"
                       Position="Left"
                       Margin="0 0 100 0"
                       Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=controls:MetroWindow}, Path=ActualWidth}"
                       Theme="Dark">
      </controls:Flyout>
    </controls:FlyoutsControl>
  </controls:MetroWindow.Flyouts>