水平和垂直拉伸画布

时间:2016-07-27 06:58:01

标签: c# wpf xaml alignment size

我正在使用WPF c#开发应用程序。我为窗口设置Width = 700和Height = 700,我的窗口有嵌套的Grid,Border和Canvas。 Horizo​​nta和边框和画布的垂直对齐是拉伸。预计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);
}

1 个答案:

答案 0 :(得分:0)

我认为窗口的高度包括顶部的标题栏。因此,如果设置为700,则窗口的实际有效高度为682,因为标题栏需要18个像素。宽度的行为相同,因为任何窗口左右都有边框。