Silverlight DataTemplate中的Access元素

Nic*_*den 5 c# silverlight datatemplate silverlight-3.0

即使在SO上已经存在一些相关问题,我也无法找到解决以下问题的干净解决方案.

如果我有一个多次使用的数据模板,例如TreeViewItem.HeaderTemplate,我怎样才能更改某些TreeViewItems的模板.

例如,假设我的TVI HeaderTemplate有一个文本块,根据字符串,我想使字体粗体.

我想做这样的事情:

((TextBlock)myTreeView.Items.ElementAt(0).FindName("myTextBlock")).FontWeight = FontWeights.Bold;
Run Code Online (Sandbox Code Playgroud)

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

编辑:有没有办法编写泛型函数来获取基于它的名称的控件,即使它在数据模板中?

LayoutRoot.FindName("myTextBlock");如果myTextBlock不在datatemplate中,它将起作用.我怎么写findElementInDataTemplate(string elementName, string parentName)函数?

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

小智 0

这是什么版本的 silverlight?这篇文章是哪一年的“8月10日18:55”?

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