2012-01-14 37 views
0
<ListBox> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
     <Button Content="Click Me" 
       Click="OnClick" 
       Name="btn"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate></ListBox> 

我想獲得相關的ListBoxItem當我點擊Button.how來做到這一點?如何從DataTemplate控制到ControlTemplate?

private void OnClick(object sender, RoutedEventArgs e){// How to get ListBoxItem?} 

回答

0

可以按如下方式做到這一點使用Linq-to-VisualTree

Button btn = sender as Button; 
ListBoxItem item = btn.Ancestors<ListBoxItem>().Cast<ListBoxItem>().First(); 

此發現按鈕是所需類型的始祖。

或者,如果您使用的是數據綁定,則可以檢查Button的繼承DataContext以查看綁定的模型項。那將是我的首選。

+0

嘿ColinE 我編輯過的問題可以幫助我查詢嗎? – 2013-02-07 12:40:31

相關問題