0
私は縦のボタンバーを構築しています。各ボタンにはイメージとTextBlockがあります。 TextBlockのフォントサイズと文字数に応じて、すべてのボタンの幅と高さが同じになります。残りのスペースを占有し、できるだけ左に画像をプッシュするために、文字数が最も少ないTextBlockを引き伸ばすことが望まれます。この問題は、ボタンバーの残りのスペースを埋めるためにTextBlock(文字数の少ないTextBlock)を引き伸ばすことができないようです。これどうやってするの?ボタン内のTextBlockを伸ばしてください
<ScrollViewer>
<Grid>
<Grid.Background>
<SolidColorBrush Color="{DynamicResource {x:Static SystemColors.ControlLightColorKey}}"/>
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Button
HorizontalAlignment="Stretch"
Grid.Row="0"
Grid.Column="1"
Margin="2"
Height="{Binding ActualHeight, ElementName=Tb}"
Click="Button1_Click">
<!---->
<DockPanel>
<Image
Source="/images/block_arrow_left.png"
Grid.Row="0"
Grid.Column="0"
Height="{Binding ActualHeight, ElementName=Tb}" Margin="0" VerticalAlignment="Center">
</Image>
<TextBlock
x:Name="Tb"
Padding="5"
VerticalAlignment="Center"
Grid.Row="0"
Grid.Column="1"
FontSize="14"
Text="button1">
</TextBlock>
</DockPanel>
</Button>
<Button
HorizontalAlignment="Stretch"
Grid.Row="1"
Grid.Column="1"
Margin="2"
Height="{Binding ActualHeight, ElementName=Tb}"
Click="Button2_Click">
<DockPanel>
<Image
Source="images/block_arrow_left.png"
VerticalAlignment="Center"
Grid.Row="1"
Grid.Column="0"
Height="{Binding ActualHeight, ElementName=Tb}" >
</Image>
<TextBlock
Padding="5"
VerticalAlignment="Center"
Grid.Row="1"
Grid.Column="0"
FontSize="14"
Text="button22222222222222">
</TextBlock>
</DockPanel>
</Button>
</Grid>
</ScrollViewer>
スーパー:
は、その親に内容ストレッチを行うには、ボタンのHorizontalContentAlignment="Stretch"
を設定します。そうです。感謝のエド。 –