2009-04-24 21 views
55

WPF'da bileşenin% 100 kullanılabilir alan için nasıl söyleneceği hakkında bir yol var mı? CSSWPF'de% 100 genişlik nasıl ayarlanır

Bu XAML var ve ben% 100 genişliğini almaya Izgara zorlamak nasıl bilmiyorum içinde

width: 100%; 

gibi

.

<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> 

Sonucu ben pembe yapılan

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

gibi pek çok sürer ne kadar boşluk bariz görünüyor. Pembe ızgarayı% 100 genişlikte yapmalıyım.

+0

Bağlantı Üzgünüm ölü ... –

+0

@MartiniBianco, ancak bu soru 8 yaşında . Görüntüde ne olduğunu hatırlamıyorum, o zamandan beri WPF kullanmıyorum. –

cevap

70

Genişliğini gösteren Grid kapsayıcısıdır. Bu durumda, varsayılan olarak sola hizalanmış olan ListBoxItem. aşağıdaki gibi

<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

Küçük bir not - bunu bir windows mağazası uygulamasında yapmaya çalışıyorsanız, aslında benim için de çalışan – roryok

+0

HorizontalContentAlignment ile aynı yöntemi kullanarak 'HorizontalContentAlignment' değerini ayarlamanız gerekir. – Skychan

43

Sen HorizontalContentAlignment="Stretch" kullanabilirsiniz: Sen şöyle de germek için ayarlayabilirsiniz

<ListBox HorizontalContentAlignment="Stretch"/> 
İlgili konular