如何在WPF中获取对数据模板的基础数据类型的引用

时间:2011-11-18 18:27:29

标签: c# wpf

这是我的情况:

我有一个数据模板设置,其中包含一个ToggleButton(其目的是将基础类型表示为用户可以与之交互的按钮)。

我的整个用户控件是一个堆栈面板,随着新按钮的添加而滚动。每次添加新按钮时,它都由ContentControl托管,然后添加到堆栈面板的子项中。像这样:

var newButton = new DataType();
var host = new ContentControl {content = newButton};
stackPanel.Children.Add(host);

其中DataType是DataTemplate正在寻找的类型。

此DataType类具有我需要在后面的代码中访问的属性。

当用户点击其中一个切换按钮时,我希望能够获得该按钮所代表的DataType对象的引用,而我无法弄清楚如何执行此操作。有可能吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

如果你正在处理某种类型的点击事件,你可能有一个像

这样的处理程序
private void HandleClick(object sender, EventArgs e)
{
  ....

发件人将成为你的控制权。您可以将对象强制转换为它,然后访问其DataContext,您也可以将其转换为“DataType”。如果视觉关系更具竞争力,您可能需要更多地走视觉树,但您应该能够做到这一点。使用代码隐藏方法,这是我见过的常见数据模板中的事物,因此无法直接命名和操作。