我正在使用WPF c#开发应用程序。我为窗口设置Width = 700和Height = 700,我的窗口有嵌套的Grid,Border和Canvas。 Horizonta和边框和画布的垂直对齐是拉伸。预计Canvas的ActualWidth和ActualHeight为700但它们是682和659.有什么问题?我错过了设置一些属性吗?
我使用此xaml
代码:
<Window x:Class="proj.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="700" Width="700" WindowStartupLocation="CenterScreen" Loaded="Window_Loaded">
<Grid>
<Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Canvas x:Name="cnv" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
</Canvas>
</Border>
</Grid>
</Window>
这是&#34; Window_Loaded&#34;事件代码:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show(cnv.ActualWidth + "\n" + cnv.ActualHeight);
}
答案 0 :(得分:0)
我认为窗口的高度包括顶部的标题栏。因此,如果设置为700,则窗口的实际有效高度为682,因为标题栏需要18个像素。宽度的行为相同,因为任何窗口左右都有边框。