我有一个包含一些项目的ListView,每个项目都有自己的模板,我的问题是如何在itemtemplate中显示每个项目的当前索引和itemsource的数量?
我的ListView xaml:
<ListView x:Name="AddTermsListView" ItemTemplate="{StaticResource FilterDataTemplate}"
ItemsSource="{Binding ComboBoxSet}"
ItemsPanel="{StaticResource WrapItemsPanelTemplate}"
SelectionMode="None" Padding="0" ScrollViewer.VerticalScrollBarVisibility="Auto"
HorizontalAlignment="Left" VerticalAlignment="Top" />
我的ItemTemplate:
<DataTemplate x:Key="FilterDataTemplate">
<StackPanel Orientation="Horizontal" Background="White" Height="50" HorizontalAlignment="Left">
<TextBox BorderBrush="#FF727272" Background="#FFD1D1D1" HorizontalAlignment="Left" Grid.Row="2" TextWrapping="Wrap" Text="{How to get Index?}"/>
<TextBox BorderBrush="#FF727272" Background="#FFD1D1D1" HorizontalAlignment="Left" Grid.Row="2" TextWrapping="Wrap" Text="{How to display total of ComboBoxSet?}"/>
</StackPanel>
</DataTemplate>
谢谢:)
修改
尝试通过ComboBoxSet绑定ListView中的总项目,但仍无效:
<TextBox BorderBrush="#FF727272" Background="#FFD1D1D1" HorizontalAlignment="Left" Grid.Row="2" TextWrapping="Wrap" Text="{Binding ComboBoxSet.Count}"/>
答案 0 :(得分:1)
您可以通过元素绑定在模板上显示列表项目计数。
更新:尝试此代码
<ListView x:Name="AddTermsListView">
<ListView.ItemTemplate >
<DataTemplate>
<StackPanel Orientation="Horizontal" Width="300" Height="50">
<TextBlock Text="{Binding}" Margin="0,0,20,0"/>
<TextBlock Text="{Binding Items.Count, ElementName=AddTermsListView}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate >
</ListView >
填充集合并将其设置为列表的ItemSource
List<string> temperatures = new List<string>();
// Generate 10 items
for (int num = 1; num <= 10; num++)
{
temperatures.Add("number" + num);
}
AddTermsListView.ItemsSource = temperatures;
请注意,“商品”不是您的商品来源收藏品名称。 It Gets the collection used to generate the content of the ItemsControl
如果您想要显示每个项目的索引,最好为您的模型类添加额外的Index property
&amp;在构建列表项源时,使用项目增加它。