问题是按照 WPF: when I maximize my window, controls do not resize没有答案。
我有一个WPF表单,其中包含一些与表单的至少两个边相关联的控件。我已经向sizechanged事件添加了代码,它将控件的大小调整为表单大小的比例。代码运行良好,并通过拖动控件调整大小来正确调整窗体大小。
当窗体最大化时,控件不会调整大小,垂直保存在窗口顶部和底部的控件上。
我在statechanged事件中添加了类似的代码,但这没有任何作用。我尝试了直线TextBox1.Width = 300;
,但一旦最大化,这不会改变尺寸。
理想情况下我想要的是说
TextBox1.Width = Window.width/3; TextBox1.Margin = My_Margin;
其中My_Margin将左边距设置为1/3 Window.Width。这样文本框就占据了窗口的中央三分之一。
答案 0 :(得分:3)
使用网格,定义列(及其宽度)和行,并使用Grid.Row和Grid.Column属性放置文本框。同样在WPF网格中,*表示宽度和高度表示比例大小调整。 因此,例如,如果您有2列定义像这些
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"></ColumnDefinition>
<ColumnDefinition Width="9*"></ColumnDefinition>
</Grid.ColumnDefinitions>
你要说wpf第一列占据总可用宽度的10%,而第二列占90%。