是否可以在其父控件(例如<StackPanel>
)上横向移动Window
或标签(或按钮,无论如何)并填写所有允许的空间?
例如,如果我有3个控件
_ 窗口宽度_ _
[1] _ _ [2] _ _ [3]
或2个控件
_ 窗口宽度_ _
[1] _ __ _ __ _ [2]
在每种情况下都使用窗口的整个宽度,每个边缘控件分别左右对齐。
答案 0 :(得分:21)
StackPanel会叠加控件,所以不是简短的答案。这不是StackPanel的设计目标。
你可以像Vlad建议的那样使用网格。像这样:
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<Button Width="20" Height="20" Grid.Column="0"/>
<Button Width="20" Height="20" Grid.Column="2"/>
<Button Width="20" Height="20" Grid.Column="4"/>
</Grid>
答案 1 :(得分:-4)
StackPanel m_pstackpanel = (StackPanel)this.Parent;
m_pstackpanel.Children.Clear();
keypadclasslist keypadWindow = new keypadclasslist(m_pLstReceiver);
m_pstackpanel.Children.Add(keypadWindow);