同一用户控件有2个实例。事件处理程序附加在usercontrol中的按钮上。
我从usercontrol_1调用事件处理程序,在文本框中显示来自usercontrol_1的值,但两个用户控件都在文本框中显示值。
private void CalculatorInput_Click(object sender, RoutedEventArgs e)
{
InputBox.Text = "1";
}
答案 0 :(得分:0)
您提到与发件人合作,但您尝试过这样的事情:
private void CalculatorInput_Click(object sender, RoutedEventArgs e)
{
var control = sender as YourCustomControlType;
if (control == null)
return;
control.InputBox.Text = "1";
}
另一个好的做法是,不是暴露控件的子控件(InputBox),而是在控件上创建一个公共属性来获取/设置该值的文本,因此您的实现代码将如下所示: p>
control.DisplayText = "1";
你的控制getter / setter:
public string DisplayText
{
get { return this.InputBox.Text; }
set { this.InputBox.Text = value; }
}