2011-06-20 22 views
17

Tôi có kịch bản này mà tôi muốn chia sẻ kích thước cột trong số tất cả các ListViewItems, và tôi đang sử dụng SharedSizeGroup trên các định nghĩa cột nhưng nó không hoạt động:SharedSizeGroup trong ListView.ItemTemplate

<ListView ItemsSource="{Binding}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="A" /> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="B" /> 
        <ColumnDefinition Width="Auto" SharedSizeGroup="C" /> 
       </Grid.ColumnDefinitions> 
       <TextBlock Grid.Column="0" Margin="10,0" Text="{Binding Text1}" /> 
       <TextBlock Grid.Column="1" Margin="10,0" Text="{Binding Text2}" /> 
       <TextBlock Grid.Column="2" Margin="10,0" Text="{Binding Text3}" /> 
      </Grid> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

tôi biết một giải pháp có thể được sử dụng một GridView như ListView.View, nhưng có một vài vấn đề thiết kế mà ngăn cản chúng ta làm điều này. Có cách nào khác tôi có thể đạt được chia sẻ chiều rộng cột?

Đây là những gì tôi muốn đạt được (các cột với các màu sắc tương tự nên chia sẻ width):

enter image description here

Cảm ơn trước.

Trả lời

29

Điều duy nhất bị thiếu là phạm vi tôi nghĩ, thêm Grid.IsSharedSizeScope="True" vào thuộc tính ListView.

+0

Tuyệt vời! Cảm ơn bạn rất nhiều, nó đã hoạt động ngay lập tức! = D – Carlo

+0

Tôi phải đợi 10 phút để đặt câu trả lời của bạn là được chấp nhận. Sẽ làm như vậy càng sớm càng tốt. – Carlo

+0

Không phải lo lắng, vui vì đã làm việc :) –

Các vấn đề liên quan