2013-05-30 4 views
8

그리드를 기반으로하는 데이터 템플릿이있는 ListView가 있습니다. 그리드는 부모의 ListView의 전체 가로 폭을 채우기 (이상 스트레칭)을 위해 내가 원하는 무엇ListView ItemTemplate에서 모눈 만들기

<ListView ItemsSource="{Binding SomeItemSource}" HorizontalAlignment="Stretch" Height="281"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Grid HorizontalAlignment="Stretch" Margin="3" Width="Auto"> 
       <Grid.RowDefinitions> 
        <RowDefinition></RowDefinition> 
        <RowDefinition></RowDefinition> 
       </Grid.RowDefinitions> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="70"></ColumnDefinition> 
        <ColumnDefinition Width="*"></ColumnDefinition> 
       </Grid.ColumnDefinitions> 
       <!-- Grid content here --> 
       <TextBlock Text="SomeTextbox" 
          Margin="5,5,0,0"/> 

       <TextBox Grid.Column="1" 
         Margin="0,5,0,0" 
         Text="{Binding SomeProperty, Mode=TwoWay}" 
         HorizontalAlignment="Left" 
         Width="90"/> 

       <TextBlock Text="AnotherText" 
          Grid.Column="0" 
          Grid.Row="1" 
          Margin="5,5,0,0"/> 

       <TextBox Grid.Column="1" Grid.Row="1" 
         Margin="0,5,0,0" 
         Text="{Binding AnotherProperty, Mode=TwoWay}" 
         HorizontalAlignment="Stretch" 
         Width="300"/> 
      </Grid> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

이있다 그러나 그것은 현재 내용의 합계의 폭에 랩, 다음과 같이 XAML입니다. 원하는 행동을 어떻게 성취 할 수 있습니까?

답변

16

ListViewItem.HorizontalContentAlignment부터 Stretch까지 설정해야합니다. 당신의 ListView 정의에이 추가보십시오 :

<ListView.ItemContainerStyle> 
    <Style TargetType="{x:Type ListViewItem}"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
    </Style> 
</ListView.ItemContainerStyle> 
+0

완벽한, 감사합니다 :) – havardhu

1
<ListView Name="Husam_Copy" HorizontalAlignment="Left" Height="181" Margin="60,86,0,0" VerticalAlignment="Top" Width="189" > 
     <ListView.ItemContainerStyle> 
      <Style TargetType="{x:Type ListViewItem}"> 
       <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
       <Setter Property="Padding" Value="0"/> 
       <Setter Property="Margin" Value="0"/> 
       <Setter Property="BorderThickness" Value="0"/> 
      </Style> 
     </ListView.ItemContainerStyle> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <Button Content="{Binding Title}" HorizontalAlignment="Stretch" Padding="0" Margin="0" /> 
      </DataTemplate> 
     </ListView.ItemTemplate> 


    </ListView> 
+0

제안은 또한 당신이 문제를 해결하기 위해 변경 무엇을 게시 할 수 있습니다. –

관련 문제