问题描述
这是一种修改窗口高度直到只剩下窗口栏的方法吗?现在我使用将窗口的高度设置为 0 但 仍然保留窗口栏上方的一些内容(白色和灰色区域),我想完全删除它并只留下窗口栏:
我使用 MVVM,因此需要绑定:
XAML:
Width="{Binding MainWindowWidthSize,Mode=TwoWay}"
Height="{Binding MainWindowHeightSize,Mode=TwoWay}"
C#
public void TriggerFloatingMode(object obj)
{
if (!_isFloatingModeEnabled)
{
MainWindowWidthSize = 500;
MainWindowHeightSize = 0;
_isFloatingModeEnabled = true;
}
else
{
MainWindowWidthSize = 1000;
MainWindowHeightSize = 560;
_isFloatingModeEnabled = false;
}
}
解决方法
将此代码WindowStyle="None"
添加到Window标签中,并在Window标签底部输入以下代码
<Window.Resources>
<Style TargetType="{x:Type local:MainWindow}">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome CornerRadius="0" GlassFrameThickness="0" ResizeBorderThickness="2" CaptionHeight="0"></WindowChrome>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
在上面的代码中,将 TargetType="{x:Type local:MainWindow}"
更改为您的窗口名称 local: your window name
一个简单的代码解决方案可能是
<Window x:Class="YourWindow.MainWindow"
SizeToContent="WidthAndHeight">
<Grid Height="{Binding MainWindowHeightSize }" Width="{Binding MainWindowWidthSize }">
</Grid>
</Window>