2017-12-12 9 views
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>    

答えて

0

ボタンのコンテンツがボタンの内部空間全体を占めていません。 DockPanelsにBackgroundブラシを設定すると、それが明らかになります。

<Button 
    HorizontalAlignment="Stretch" 
    Margin="2" 
    Height="{Binding ActualHeight, ElementName=Tb}" 
    Click="Button1_Click"> 
    <!-- button content --> 
+0

スーパー:

は、その親に内容ストレッチを行うには、ボタンのHorizontalContentAlignment="Stretch"を設定します。そうです。感謝のエド。 –

関連する問題