为什么我在源代码和编译之间看不到大小相等的WPF格式? 我的意思是状态栏和按钮在图像之间看起来不同。他们有不同的立场。编译前的第一张图片。第二张图片。
我做错了什么?
对不起初学者的问题。
<Window x:Class="WebDownloader.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WebDownloader"
mc:Ignorable="d"
Title="MainWindow" Initialized="Window_Initialized" Closed="Window_Closed" ResizeMode="NoResize" Height="190" Width="225.395">
<Grid>
<Button x:Name="MainButton" Content="Done" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="135,108,0,0" Click="MainButton_Click" FontFamily="Times New Roman"/>
<StatusBar HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,133,0,0" Width="209" Height="18" FontFamily="Times New Roman">
<StatusBarItem Content="StatusBarItem" Height="18" VerticalAlignment="Top" FontFamily="Times New Roman" Width="78" HorizontalAlignment="Left"/>
</StatusBar>
</Grid>
答案 0 :(得分:3)
问题是您使用具有固定大小和边距的静态布局来放置项目。你真的不应该以这种方式布局WPF应用程序。
使用相对布局并使用它应该使用的Grid
:行和列。
我删除了布局不需要的所有属性,以使此样本尽可能短。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button Content="Done"
Grid.Row="1"
HorizontalAlignment="Right"
Width="75"
Margin="0 0 5 5"/>
<StatusBar Grid.Row="2"
HorizontalAlignment="Stretch"
VerticalAlignment="Top">
<StatusBarItem Content="StatusBarItem"
HorizontalAlignment="Left"/>
</StatusBar>
</Grid>
<强>信息强>
如果您希望自己的用户界面尽可能大,那么您可以删除Height
的{{1}}和Width
属性并使用Window
内容。
答案 1 :(得分:0)
这个article值得一看;它给出了WPF窗口的一个很好的概述。
您可以控制一个窗口height
和width
,例如
<Window Height="200" Width="300">
<!-- Content here -->
</Window>
给你300宽200高的窗户。
此外,您可以指定最小值和最大值 - 当您希望用户能够调整窗口大小时,这非常有用,例如:
<Window Height="200" Width="300" MinWidth="200" MaxWidth="500">
<!-- Content here -->
</Window>
为您提供一个200高,200到500宽的窗口,默认宽度为300。
您可以像这样指定设计高度和宽度
<Window Height="200" Width="300" DesignWidth="500" DesignHeight="500">
<!-- Content here -->
</Window>
这说&#34;让我的窗户宽300,高200,但在我的设计师和#34中将它设为500乘500。
这就是说,更好的方法通常是使用SizeToContent
,以便您的窗口适合您的内容。喜欢这个
<Window SizeToContent="WidthAndHeight">
<!-- Content here -->
</Window>