当窗口在.net中最大化时,我如何调整控件(面板、网格)本身的大小

本文关键字:面板 控件 窗口 网格 调整 最大化 net 何调整 | 更新日期: 2023-09-27 18:26:38

我创建了一个小应用程序,当我的窗口(WPF)最大化时,它的控件也会根据窗口大小调整大小。我试过这个代码-

 If Me.WindowState = Windows.WindowState.Maximized Then
        Me.WindowState = Windows.WindowState.Normal
        Me.Width = 820
        Me.Height = 440
        Me.Grid1.Width = 780
        Me.Grid1.Height = 400
        Me.StackPanel1.Height = 360
        Me.StackPanel1.Width = 140
        Me.StackPanel2.Height = 360
        Me.StackPanel2.Width = 600
 Else If Me.WindowState = Windows.WindowState.Normal Then
        Me.WindowState = Windows.WindowState.Maximized
        'Me.Width = 1350
        'Me.Height = 600
        Me.Grid1.Width = 1300
        Me.Grid1.Height = 600
        Me.StackPanel1.Height = 460
        Me.StackPanel1.Width = 200
        Me.StackPanel2.Height = 460
        Me.StackPanel2.Width = 800

当窗口在.net中最大化时,我如何调整控件(面板、网格)本身的大小

为什么不能将控件封装在Grid中?当您使用*设置列宽和行高时,每当调整窗口大小时,它都会更改列和行的大小。控件还应将HorizontalAlignment和VerticalAlignment设置为"拉伸"。

您可以直接从XAML执行此操作:在复杂情况下使用HorizontalAlignment/VerticalAlignment属性或使用绑定到元素的宽度/高度。以下是我的项目示例:

<GroupBox .... Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=TreeView, AncestorLevel=1}, Path=ActualWidth}">

您应该使用一个表布局面板,并在里面记录您的控件!