2013-02-17 41 views
1

我有一個ListBox控制具有以下佈局,即中有一個自定義的控制:metro應用訪問的DataTemplate控制

<ListBox x:Name="testList" ItemsSource="{Binding}" BorderBrush="{x:Null}" BorderThickness="0" Margin="0" Padding="0"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <controls:MyUserControl x:Name="testListItem"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

我試圖從代碼隱藏訪問MyUserControl像這樣:

testList.ItemContainerGenerator.ContainerFromItem(testList.SelectedItem); 

不幸的是,它總是返回null。我讀過一些設置VirtualizingStackPanel.IsVirtualized="False"在XAML的ListBox修復此問題。

但是此屬性在Metro中不可用。有人知道如何實現這一目標嗎?

+0

** **決議: 採取了這一做法: [http://stackoverflow.com/questions/12370081/accessing-combobox-inside-a-datatemplate-of-a-listbox-from-c-sharp code-behind-i] [1] [1]:http://stackoverflow.com/questions/12370081/accessing-combobox-inside-a-datatemplate-of-a-listbox-from-c-sharp -code隱藏-I – c0D3l0g1c 2013-02-17 12:43:52

回答