2009-04-24 7 views
55

WPFに利用可能な領域を100%占有する方法はありますか?WPFで幅を100%に設定する方法

CSS

width: 100%; 

と同じように、私は、このXAMLを持っている、と私は100%の幅を取るためにグリッドを強制する方法がわかりません。

<ListBox Name="lstConnections"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <Grid Background="LightPink"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="Auto"/> 
     </Grid.ColumnDefinitions> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="Auto"/> 
      <RowDefinition Height="Auto"/> 
     </Grid.RowDefinitions> 
     <TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=User}" Margin="4"></TextBlock> 
     <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Path=Password}" Margin="4"></TextBlock> 
     <TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Text="{Binding Path=Host}" Margin="4"></TextBlock> 
     </Grid> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

結果は、私はそれがピンク作ら

alt text http://foto.darth.cz/pictures/wpf_width.jpg

ようなので、それはそれがかかりますどのくらいのスペース明らかだ見えます。私はピンクのグリッドを100%幅にする必要があります。

+0

リンクが死んでいるの... –

+0

@MartiniBiancoは、私は申し訳ありませんが、この質問は8歳。私はイメージに何があったのか覚えていないし、WPFをそれ以来使っていない。 –

答えて

70

Gridのコンテナで、その幅は大きすぎます。この場合、これはデフォルトで左揃えのListBoxItemです。あなたは次のようにストレッチするように設定することができます

<ListBox> 
    <!-- other XAML omitted, you just need to add the following bit --> 
    <ListBox.ItemContainerStyle> 
     <Style TargetType="ListBoxItem"> 
      <Setter Property="HorizontalAlignment" Value="Stretch"/> 
     </Style> 
    </ListBox.ItemContainerStyle> 
</ListBox> 
+8

小さなメモ - Windowsストアアプリでこれを行う場合は、上記の方法と同じ方法で実際にHorizo​​ntalContentAlignmentを設定する必要があります – roryok

+0

Horizo​​ntalContentAlignmentも私のために働いています – Skychan

43

次のようにあなたがHorizontalContentAlignment="Stretch"を使用することができます。

<ListBox HorizontalContentAlignment="Stretch"/> 
関連する問題