如何从父控件设置TextBlock的值?
即。我的父控件(Parent.xaml)有一个像这样声明的子控件(Child.xaml)
<myNamespace:Child x:Name="child"/>
子控件包含一个声明为<TextBlock Text="12345" x:Name="textBlock1" />
我希望能够从Parent.xaml.cs更改文本框内容,所以我尝试使用
child.textBlock1.Text = "Some new text";
但我得到“'儿童'是'属性',但用作”类型“错误。
我是Silverlight的新手,我有点困惑。关于如何正确地做到这一点的任何想法?
提前致谢。
→
答案 0 :(得分:0)
由于Child
是一个单独的控件,textBlock1
不会自动可供父级使用 - 除非您明确公开公开,否则它对子控件是私有的。
所以在儿童控制中你可以拥有这样的公共财产:
public string Text
{
set { textBlock1.Text = value; }
}
或者您可以更直接地公开TextBlock:
public TextBlock ChildTextBlock
{
get { return textBlock1; }
}
还有其他一些更好(但稍微复杂一点)的方法(绑定,依赖属性),但这些方法可以让你开始。