使用 WPF,如何检索 DataTemplate 包含的控件?

发布于 2024-08-06 08:08:58 字数 211 浏览 4 评论 0原文

基本上我有一个包含 Border、StackPanel 等内容的 DataTemplate,后来我在许多 ContentControl 中使用此 DataTemplate 作为 ContentTemplate。

这些 ContentControl 已命名,但从 C# 代码中我无法找到一种方法来从它们中取回我的 Border、StackPanel 和其他内容。

有什么想法吗?

Basically I have a DataTemplate that contains Border, StackPanel and stuff, and later I use this DataTemplate as a ContentTemplate in many ContentControl(s).

These ContentControl(s) are named, but from the C# code I don't manage to find a way to get back my Border, StackPanel and stuff from them.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏末染殇 2024-08-13 08:08:58

您应该能够执行以下操作:

// Finding textBlock from the DataTemplate that is set on that ContentPresenter
DataTemplate myDataTemplate = myContentPresenter.ContentTemplate;
TextBlock myTextBlock = (TextBlock)myDataTemplate.FindName("textBlock", myContentPresenter);

您可以在这里找到更多相关信息: 如何:查找 DataTemplate 生成的元素

You should be able to do somthing like this:

// Finding textBlock from the DataTemplate that is set on that ContentPresenter
DataTemplate myDataTemplate = myContentPresenter.ContentTemplate;
TextBlock myTextBlock = (TextBlock)myDataTemplate.FindName("textBlock", myContentPresenter);

And you can find more about it here: How to: Find DataTemplate-Generated Elements

影子是时光的心 2024-08-13 08:08:58

尝试 FindResource()

这是一个示例

Try FindResource()

here's an example

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文