如何让Flyout宽度适应应用宽度?

时间:2014-10-15 13:00:30

标签: c# wpf mahapps.metro

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

<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="*",但这不起作用。

1 个答案:

答案 0 :(得分:5)

以下示例适用于最新的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>