我的UserControl
里面有一个StackPanel
,其中我动态添加了另一个UserControl_1
1次以上。现在,这个子UserControl_1
包含一个TextBox
。
我想将子UserControl_1
的{{1}}值放入父容器TextBox
中。我怎么能够 ?
在包含UserControl
的{{1}}中,我使用了此属性
UserControl_1
在上级UserControl中,我正在使用它来获取价值。
TextBox
显示的错误无法从静态上下文访问非静态字段
编辑:
基本上,我正在做的是多次加载或添加一个UserControl_1,其中包含一个TextBox到另一个父UserControl中。
现在,我想获取父USerControl中动态添加的UserControl_1的TextBox值。
答案 0 :(得分:0)
一个UserControl可以有多个实例。您要从静态属性返回哪个实例的文本框的值?提示:您不知道。通过引用UserControl_1
实例的引用来访问文本框
您说您在“父”(即容器)控件中使用此用户控件。然后,您必须在某个位置具有引用该控件的成员。
假设该成员简称为this.userControl_1
,则可以使用户控件的string属性为非静态:
public string ProductNameValue
{
get
{
return ProductNameBox.Text;
}
}
然后在包含控件中,执行以下操作:
var name = this.userControl_1.ProductNameValue;