2014-02-26 45 views
1

我有一個ListView包含一些項目,每個項目都有一個自己的模板,我的問題是如何顯示每個項目的當前索引和項目源的計數ItemTemplate中?如何從項目模板獲取當前索引和項目源數

我的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}"/> 

回答

1

您可以通過元素綁定在模板上顯示列表項數。

UPDATE:試試這個代碼

<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 &在構建列表項目源時增加項目。

+0

我嘗試綁定元素,但它不工作,總是顯示0值,雖然我添加了一些項目,該列表視圖! –

+0

您是否嘗試過使用相同的代碼Text =「{Binding Items.Count,ElementName = AddTermsListView}」?它適用於我的設計時間列表項目。讓我檢查另一個案例。 – asitis

+0

@HanTran它在兩種情況下都適用於我。請檢查您的代碼。 – asitis

相關問題