有人可以告诉我为什么,即使我将我的窗口设置为SizeToContent并且我的内容宽度= 40,应用程序在宽度上加载的是否更大?
以下示例的大小为高度,但宽度约为100像素(估算值)。
由于
<Window x:Class="WpfApplication2.RetailButs"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="RetailButs" SizeToContent="WidthAndHeight"
WindowStyle="None" MinWidth="0" >
<Grid x:Name="LayoutRooty" Width="40" Height="40">
<Border x:Name="LayoutRootx" Background="White" BorderBrush="Black" CornerRadius="8" BorderThickness="4" >
</Border>
</Grid>
</Window>
答案 0 :(得分:1)
你得到的额外尺寸来自3个右上方的窗口按钮。
所以最好的解决方案就是按下(1)按钮并为窗口设置一些最小尺寸(2)。
试试这个,这正是你所需要的。
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Width="40" Height="40" SizeToContent="WidthAndHeight" WindowStyle="None" ResizeMode="NoResize">
<Grid x:Name="LayoutRooty" Width="40" Height="40">
<Border x:Name="LayoutRootx" Background="White" BorderBrush="Black" CornerRadius="8" BorderThickness="4" >
</Border>
</Grid>
</Window>
答案 1 :(得分:0)
最近有一个类似的问题我无法找到。如果WindowStyle
是默认的3D边框,而所有按钮占用大量空间,则大小是必需的。我认为有一些方法可以更新布局,也许你可以搞清楚。
修改:设置窗口的Width="0"
(或任何其他值),它应该正确更新。内容大小将覆盖该值。
(如果您将WindowStyle
设置为ToolWindow
,它始终适合