![](/img/trans.png)
[英]How to get Control from DataTemplate and ControlTemplate ? thinks so much
[英]How to get Control from DataTemplate to ControlTemplate ?
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="Click Me"
Click="OnClick"
Name="btn"/>
</DataTemplate>
</ListBox.ItemTemplate></ListBox>
我想在單擊Button時獲取相關的ListBoxItem。如何執行此操作?
private void OnClick(object sender, RoutedEventArgs e){// How to get ListBoxItem?}
您可以使用Linq-to-VisualTree進行以下操作:
Button btn = sender as Button;
ListBoxItem item = btn.Ancestors<ListBoxItem>().Cast<ListBoxItem>().First();
這將找到所需類型的按鈕的第一個祖先。
或者,如果您正在使用數據綁定,則可以檢查Button
的繼承的DataContext
,以查看其綁定到哪個模型項。 那將是我的首選。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.