从用户控件中的控件调用主窗口中嵌入的用户控件

时间:2014-08-07 05:42:01

标签: c# wpf wpf-controls

我在名为UserControl的PRoject中创建了一个用户控件(Control.xaml)。我已使用

将此用户控件嵌入到不同项目(Main)的主窗口中
<commonUser:UserControl x:Name="myControl" Visibility="Collapsed"/>

现在我已经从代码中动态创建了一个用户控件中的按钮(Control.xaml),并希望访问用户控件的控件。但我无法访问用户控件,因为它已成为主窗口的一部分。 我可以在委托的帮助下完成它,其中用户控件中的Button调用主窗口的方法,主窗口发送所需的功能。

我不想使用代表团。有没有办法直接从动态创建的控件中调用用户控件。

For Example:Control.xaml中有一个标签(label1)。现在我已经在Control.xaml.cs中动态创建了一个Button,并且使用了以下代码

private void button_Click(object sender , EventArgs e) {
label1.Text = "Hello World";
}

但是label1没有得到更新。但是当主窗口告诉Label更新文本时,它通过委托成功完成。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

使用Dispatcher.Invoke

完成了我的工作
Dispatcher.Invoke((() => {

label1.Text = "Welcome";
}));