这是我的情况:
我有一个数据模板设置,其中包含一个ToggleButton(其目的是将基础类型表示为用户可以与之交互的按钮)。
我的整个用户控件是一个堆栈面板,随着新按钮的添加而滚动。每次添加新按钮时,它都由ContentControl托管,然后添加到堆栈面板的子项中。像这样:
var newButton = new DataType();
var host = new ContentControl {content = newButton};
stackPanel.Children.Add(host);
其中DataType是DataTemplate正在寻找的类型。
此DataType类具有我需要在后面的代码中访问的属性。
当用户点击其中一个切换按钮时,我希望能够获得该按钮所代表的DataType对象的引用,而我无法弄清楚如何执行此操作。有可能吗?
非常感谢任何帮助。
答案 0 :(得分:-1)
如果你正在处理某种类型的点击事件,你可能有一个像
这样的处理程序private void HandleClick(object sender, EventArgs e)
{
....
发件人将成为你的控制权。您可以将对象强制转换为它,然后访问其DataContext,您也可以将其转换为“DataType”。如果视觉关系更具竞争力,您可能需要更多地走视觉树,但您应该能够做到这一点。使用代码隐藏方法,这是我见过的常见数据模板中的事物,因此无法直接命名和操作。