MahApps.Metro 0.13.1:显示窗口命令而不显示标题栏

时间:2014-04-16 03:27:23

标签: wpf mahapps.metro

我正在使用MahApps.Metro 0.12.1在WPF中开发应用程序。在这个应用程序中,我没有显示标题栏,保持可见的最小化,最大化和关闭命令。下面我展示代码:

<controls:MetroWindow xmlns:views="clr-namespace:View.Views"  
    xmlns:titleBar="clr-namespace:View.Views.TitleBar"  
    x:Class="View.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    GlowBrush="{DynamicResource AccentColorBrush}"
    ShowWindowCommandsOnTop="False" 
    ShowTitleBar="False"
    Title="MainWindow" Height="400" Width="600"
    AllowsTransparency="False">
<Grid>
    ...
</Grid>

当我升级到MathApps.Metro版本0.13.1时出现问题,这些命令没有显示,迫使我重新建立标题栏以再次显示命令ShowTitleBar="True" 是我不想要的:显示标题栏

我正在查看MathApps.Metro 0.13.1的发行说明,并报告对标题栏的部分进行了更改,但没有给出进一步的详细信息。

我的问题是:有没有一种简单的方法来显示最小化,最大化和关闭命令而不显示标题栏?做这个的最好方式是什么?

感谢

2 个答案:

答案 0 :(得分:3)

您可以将窗口按钮直接放在主窗口中,如下所示

<Grid>
  <!-- the window button commands -->
  <Controls:WindowButtonCommands Panel.ZIndex="1"
                                 HorizontalAlignment="Right"
                                 VerticalAlignment="Top"
                                 Height="{Binding TitlebarHeight, Mode=OneWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Controls:MetroWindow}}}" />

    ...
</Grid>

希望有所帮助

答案 1 :(得分:0)

  

是否有一种简单的方法可以显示最小化,最大化和关闭命令而不显示标题栏?这样做的最佳方式是什么?

其实不是很简单,但可能。基本上,您需要创建自己的Style模板并覆盖窗口的ContentPresenter才能执行此操作。

您可以查看this问题。

除此之外,this帖子将指导您完成设计自己的标题栏的过程。