[英]WPF: Get object visualized by (hierarchical) data template
我有一個TreeView,里面有幾個項目。 這些項目通過簡單的分層數據模板可視化,如下所示:
<HierarchicalDataTemplate x:Key="instanceTemplate">
<CheckBox Checked="InstanceCheckChanged" Unchecked="InstanceCheckChanged">
<Label>Hello World!</Label>
</CheckBox>
</HierarchicalDataTemplate>
如您所見,我添加了一個事件處理程序,這是后面的代碼:
private void InstanceCheckChanged(object sender, RoutedEventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
}
在此事件處理程序中,事件的發送者顯然是復選框本身,但是該復選框實際上是在可視化我的普通對象。 我的問題是,如何獲得復選框可視化的對象? 優選地,我希望有一個帶有如下簽名的方法:
public MyObject GetMyObject(UIElement sender);
在WPF中這是否可行,還是有一種干凈的方法來存儲一些元數據,以便我知道檢查了哪個MyObject?
CheckBox的DataContext將是它所代表的對象:
var myObject = ((CheckBox)sender).DataContext as MyObject;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.