显示/隐藏Mahapps Flyout控件

Cie*_*eja 25 .net c# wpf xaml mahapps.metro

如何显示/隐藏MahApps Flyout控件?我现在有:

<controls:FlyoutsControl>
    <controls:Flyout Header="Flyout" Position="Right" Width="200" IsOpen="True">
        <TextBlock FontSize="24">Hello World</TextBlock>
    </controls:Flyout>
</controls:FlyoutsControl>
Run Code Online (Sandbox Code Playgroud)

并且它是开放的,但是当我点击带箭头的按钮时我无法再显示它.

Hos*_*Rad 46

你可以简单地使用这样的东西:

yourMahAppFlyout.IsOpen = true;
Run Code Online (Sandbox Code Playgroud)

此外,您可以将弹出窗口可见性绑定到WindowCommand(LeftWindowCommand/ RightWindowCommand),因此每当您关闭弹出ToggleButton窗口时,您都可以使用窗口顶部的(例如)重新打开.

<Controls:MetroWindow.Flyouts>
    <Controls:FlyoutsControl>
        <Controls:Flyout x:Name="yourMahAppFlyout"/>
    </Controls:FlyoutsControl>
</Controls:MetroWindow.Flyouts>

<Controls:MetroWindow.RightWindowCommands>
    <Controls:WindowCommands>
        <ToggleButton Content="Layers" 
        IsChecked="{Binding ElementName=yourMahAppFlyout, Path=IsOpen}" Cursor="Hand"/>               
    </Controls:WindowCommands>
</Controls:MetroWindow.RightWindowCommands>
Run Code Online (Sandbox Code Playgroud)

  • 使用你的第二个建议,工作完美 (4认同)