2011-06-23 125 views
5

我想要做的是讓ItemTemplate內部的Grid擴展到ListViewItem的寬度,而不僅僅是它所需的空間。這是我怎麼不希望它看起來像:使ListView.ItemTemplate中的網格寬度與ListViewItem的寬度相同

enter image description here

基本上我想要的紅色網格是藍色的矩形(這是選擇的項目)的寬度。這是我的XAML:

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Grid Background="Red"> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
        <ColumnDefinition Width="*" /> 
       </Grid.ColumnDefinitions> 
       <TextBlock Grid.Column="0" Text="{Binding FirstName}" /> 
       <TextBlock Grid.Column="1" Text="{Binding LastName}" /> 
      </Grid> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

在此先感謝!

+6

** N.B:**戴夫吉爾莫的和柯克·哈米特的姓氏拼寫錯誤。我很驚訝這個代碼甚至編譯。 ;) –

回答

22

執行以下操作:

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemContainerStyle> 
    <Style TargetType="ListViewItem"> 
     <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
    </Style> 
    </ListView.ItemContainerStyle> 

    .. 
+0

不錯!這是一個非常巧妙的小技巧,就像魅力一樣。謝啦! – Carlo

+0

我必須等10分鐘才能接受答案,請留意一下。謝謝! – Carlo

+0

太棒了!這次真是萬分感謝。它爲我節省了一天的時間:) –

相關問題