silverlight - 在 Silverlight 中从 LayoutRoot 中查找控件

标签 silverlight

我的用户控件 Layoutroot 上有多个文本块,问题是如何通过名称找到特定的 TextBlock?

谢谢

最佳答案

var myElement =
    ((FrameworkElement)System.Windows.Application.Current.RootVisual)
        .FindName("TextBlockName");

在这种情况下应该可以工作,如果文本块已经被渲染。

为了能够像@ColinE 提到的那样更普遍地轻松遍历可视化树,您还可以使用 Silverlight 工具包。
// requires System.Windows.Controls.Toolkit.dll
using System.Windows.Controls.Primitives;

var myElement = myRoot.GetVisualDescendants().OfType<TextBlock>()
    .Where(txb => txb.Name == "TextBlockName").FirstOrDefault();

关于silverlight - 在 Silverlight 中从 LayoutRoot 中查找控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5076520/

相关文章:

wpf - 如何在后台 WPF 进程中呈现 <image>?

Silverlight:使用 RestSharp 的 HTTP DELETE 和 PUT 方法

c# - 银光。绑定(bind)到数据对象的附加属性,不输入 getter

silverlight - Silverlight 的依赖注入(inject)?

silverlight - 如何避免 MVVM 中的代码重复?

.net - WPF:我可以通过样式定义/设置附加属性吗?

Silverlight 和 MV(VM) 模式 - 无代码隐藏 - 这可能吗?

.net - 在 Silverlight 和 "plain vanilla".Net 之间共享程序集

银光透明度

c# - 组合框的 SelectedValue 不反射(reflect)传递给空项时的更改