C# 将Dockpanel宽度和高度设置为与wpf中的窗口宽度和高度相同

C# 将Dockpanel宽度和高度设置为与wpf中的窗口宽度和高度相同,c#,wpf,xaml,wpf-controls,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" ResizeM

我已经在这个窗口中创建了主窗口,创建了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 HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Margin="0,0,0,0" x:Name="mainPanel" />

在这段代码中,您可以看到dockpanel的给定宽度和高度。我需要这个高度和宽度需要和窗户宽度一样。我使用了实际的宽度和高度,也使用了sizetocontent,但没有像预期的那样发生任何事情。请给出您的建议。


<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>

当您使用dock panel时,无需显式设置。如果需要,可以使用最小高度和宽度进一步限制,但不强制

    <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>

您可以按如下方式添加拉伸属性

<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 HorizontalAlignment="Stretch"  VerticalAlignment="Stretch"  Margin="0,0,0,0" x:Name="mainPanel" />


希望它能起作用

当用作顶级容器时,
DockPanel
将自动填充
窗口
父级。您根本不应该显式设置
宽度
高度
。在上面的代码中,您似乎强制将
DockPanel
设置为与
窗口所用大小不同的大小,因此它当然不会达到正确的大小。请更准确地解释代码要做什么,为什么您认为您应该做什么,以及代码应该做什么。根本不清楚你到底在问什么。试试这个,它将完全适合你的窗口。看起来“阿伦D”有助于“阿伦D”?你的另一半会一直帮助你的。我追不上你