我创建了一个名称为UserControl的用户控件。
此用户控件具有标签和按钮。
我在我的一个页面(让我们说Page1)中使用此用户控件,但是此用户控件是基于DB中的条目生成的。例如:我在DB中有一个条目,该条目的名称为“ UC1”。因此,在页面(Page1)加载时,我在页面上动态添加了该用户控件。
现在,在加载页面时,我希望单击按钮以在后面的Page1代码中实现该方法。谁能让我知道这怎么可能。由于使用控件是动态生成的,并且由于可以基于数据库条目在页面中生成用户控件的多个实例,因此我面临着一个问题。
简而言之,我想在父页面后面的代码中为在父页面内部动态生成的用户控件调用一个方法
答案 0 :(得分:0)
假设Button名为“ btn1”,而TextBlock名为“ textBlock1”,您可以像这样进行接线
for (int i = 0; i < 3; i++)
{
MyUserControl c = new MyUserControl();
c.btn1.Click += (o, args) =>
{
c.textBlock1.Text = DateTime.Now.ToString();
};
//then add the user control to the page
this.stackPanel1.Children.Add(c);
}
并向元素添加x:FieldModifier属性,以便您可以从外部访问它们。
<Button x:Name=“btn1” x:FieldModifier=“public” ...