我创建了一个小应用程序,我希望当我的窗口(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
答案 0 :(得分:1)
为什么你不能将控件包装在Grid中?使用*设置列宽和行高时,只要调整窗口大小,它就会更改列和行的大小。另外,控件应将HorizontalAlignment和VerticalAlignment设置为Stretch。
答案 1 :(得分:0)
您可以直接从XAML执行此操作:使用HorizontalAlignment / VerticalAlignment属性或在复杂情况下使用Binding to element的Width / Height。以下是我的项目中的示例:
<GroupBox .... Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=TreeView, AncestorLevel=1}, Path=ActualWidth}">
答案 2 :(得分:0)
你应该使用表格布局面板,并在里面控制你的控件!