<StackPanel>
またはラベル(またはボタンなど)をその親コントロール(例:Window
)を横切って水平に配置し、許可されているすべてのスペースを埋めることはできますか?
たとえば、3つのコントロールがある場合
_ウィンドウ幅__
[1] __ [2] __ [3]
または2つのコントロール
_ウィンドウ幅__
[1] _______ [2]
いずれの場合も、ウィンドウの全幅が使用され、各エッジコントロールはそれぞれ左揃えと右揃えになっています。
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>