2015-01-27 134 views
1

我嘗試設置的綁定發生了一個奇怪的問題。我有一個ItemsControl,我正在使用它來呈現一個包含DataGrid的WrapPanel,它的DataTemplate。最終,我想使用WrapPanel爲列表中的每個項目顯示一個DataGrid,以便綁定到ItemsControl。現在它創建了正確數量的DataGrid和頭文件,但沒有實際綁定的數據。我沒有足夠的經驗與WPF知道我在哪裏誤入歧途。這些項目本身是Tuple對象。爲什麼我的數據值沒有被綁定?在ItemsControl的DataTemplate中綁定DataGrid

<ItemsControl ItemsSource="{Binding Path=GetDestinctCodeCounts}" Grid.Row="2" Grid.ColumnSpan="6" HorizontalAlignment="Center" HorizontalContentAlignment="Stretch"> 
 
    <ItemsControl.Template> 
 
    <ControlTemplate> 
 
     <WrapPanel IsItemsHost="True" /> 
 
    </ControlTemplate> 
 
    </ItemsControl.Template> 
 
    <ItemsControl.ItemTemplate> 
 
    <DataTemplate> 
 
     <DataGrid AutoGenerateColumns="False" IsReadOnly="True" Margin="2,0,2,2" ItemsSource="{Binding}"> 
 
     <DataGrid.Columns> 
 
      <DataGridTextColumn Width="Auto" Binding="{Binding Item1}" Header="Code" /> 
 
      <DataGridTextColumn Width="Auto" Binding="{Binding Item2}" Header="Count" /> 
 
     </DataGrid.Columns> 
 
     </DataGrid> 
 
    </DataTemplate> 
 
    </ItemsControl.ItemTemplate> 
 
</ItemsControl>

public List<Tuple<string, int>> GetDestinctCodeCounts 
    { 
     get 
     { 
      if (UnQualifiedZips.Count > 0) 
      { 
       var distinctCount = UnQualifiedZips.GroupBy(x => x.Item2).Select(x => new Tuple<string, int>(x.Key, x.Count())).ToList(); 
       return distinctCount; 
      } 
      else return new System.Collections.Generic.List<Tuple<string, int>>(); 
     } 
    } 

回答

0

你GetDistinctCodeCounts給你一個IEnumerable < tuple < string, int > >

但你需要一個IEnumerable< IEnumerable< tuple < string,int>> >

小測試:這種替換屬性GetDistinctCodeCounts:

List<List<Tuple<string, int>>> tuples = new List<List<Tuple<string, int>>>(); 
     tuples.Add(
      new List<Tuple<string, int>>() 
      { 
      new Tuple<string,int>("a",1), 
      new Tuple<string,int>("b",2), 
      } 
      ); 

     tuples.Add(
      new List<Tuple<string, int>>() 
      { 
      new Tuple<string,int>("a",1), 
      new Tuple<string,int>("b",2), 
      } 
      ); 

我的測試:

enter image description here

相關問題