将Dockpanel的宽度和高度设置为与wpf中的Window宽度和高度相同

时间:2017-04-24 05:31:30

标签: c# wpf xaml wpf-controls

我在这个窗口创建了主窗口,创建了dockpanel,用于在主窗口中绑定用户控件值,如下所示,

<Window x:Class="WpfApplication2.DMMainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
       ResizeMode="NoResize"
       WindowState="Maximized" 
       WindowStyle="None"
       WindowStartupLocation="CenterScreen"
       Height="{Binding SystemParameters.PrimaryScreenHeight}"
       Width="{Binding SystemParameters.PrimaryScreenWidth}">
    <DockPanel Width="1254" Height="1200" HorizontalAlignment="Left" Margin="0,0,0,0" x:Name="mainPanel" VerticalAlignment="Top" />
</Window>

在此代码中,您可以看到dockpanel的给定宽度和高度。我需要这个高度和宽度需要绑定与窗口宽度相同。我已经使用了实际的宽度和高度以及sizetocontent,但没有发生任何预期的事情。请提出你的建议。

3 个答案:

答案 0 :(得分:3)

在使用停靠面板时,无需明确设置。如果你想要,你可以通过使用最小高度和宽度进一步限制,但没有强制性。

    <Window x:Class="WpfApplication2.DMMainWindow"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             ResizeMode="NoResize"
             WindowState="Maximized" 
             WindowStyle="None"
             WindowStartupLocation="CenterScreen"
             Height="{Binding SystemParameters.PrimaryScreenHeight}"
             Width="{Binding SystemParameters.PrimaryScreenWidth}">
             <DockPanel x:Name="mainPanel" 
                        MinHeight ="{Binding SystemParameters.PrimaryScreenHeight}" 
                        MinWidth ="{Binding SystemParameters.PrimaryScreenWidth}"  />

 </Window>

答案 1 :(得分:1)

您可以添加Stretch属性,如下所示

<DockPanel HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Margin="0,0,0,0" x:Name="mainPanel" />

希望它能运作

答案 2 :(得分:0)

<Window x:Class="WpfApplication2.DMMainWindow"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         ResizeMode="NoResize"
         WindowState="Maximized" 
         WindowStyle="None"
         WindowStartupLocation="CenterScreen"
         Height="{Binding SystemParameters.PrimaryScreenHeight}"
         Width="{Binding SystemParameters.PrimaryScreenWidth}">
         <DockPanel x:Name="mainPanel" />
 </Window>