即使已经有一些相关的问题,我也无法找到以下问题的解决方案。

如果我有一个被多次使用的数据模板,例如TreeViewItem.HeaderTemplate,那么如何仅对某些TreeViewItems更改模板。

例如,假设我的TVI HeaderTemplate有一个文本块,并且根据字符串,我希望将字体粗体显示为粗体。

我想做这样的事情:

((TextBlock)myTreeView.Items.ElementAt(0).FindName("myTextBlock")).FontWeight = FontWeights.Bold;

有人对此有解决方案吗? ->谢谢埃文

编辑:是否可以编写通用函数来基于其名称获取控件,即使该控件位于数据模板中也是如此?

如果myTextBlock不在数据模板中,则LayoutRoot.FindName("myTextBlock");将起作用。如何编写findElementInDataTemplate(string elementName, string parentName)函数?

Evan不是我要找的答案的原因是因为我正在开发控件。我希望使用我的控件的应用程序开发人员能够更改控件中的任何元素。如果我使用Evan的解决方案,那将要求应用程序开发人员有权访问控件中的所有模板。可能,但不理想。谢谢!

最佳答案

这是什么版本的silverlight?
这个帖子来自哪一年的“8月10日18:55”?

在当前版本的SL4中似乎不存在。

10-04 21:33