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>>();
}
}