首页 新闻 会员 周边 捐助

WPF中如何在用户控件中对主窗体的控件进行操作?

0
悬赏园豆:100 [待解决问题]

我在主窗口中放置了一个usercontrol,现想通过usercontrol中的一个按钮对另外一个usercontrol中的一个控件进行操作,求助各位大神在usercontrol中获取另外一个usercontrol的控件?

董秋尼玛张的主页 董秋尼玛张 | 初学一级 | 园豆:102
提问于:2017-07-07 01:58
< >
分享
所有回答(8)
0

增加带参数的构造函数,在实例化UserControl的时候,把主窗口传递给UserControl。

幻天芒 | 园豆:37205 (高人七级) | 2017-07-07 08:35
0

Application.Current.MainWindow as MainWindow;

莫欺 | 园豆:401 (菜鸟二级) | 2017-07-07 08:59
0

另起一个调度线程,再获取主窗体

this.Dispatcher.Invoke(() =>
{

var MW= Application.Current.MainWindow as MainWindow;
MW.Func(xxx);
});

南瓜瓜 | 园豆:202 (菜鸟二级) | 2017-07-07 09:24
3

都WPF, 还整天想着操作控件,说好的MVVM呢?!

爱编程的大叔 | 园豆:30844 (高人七级) | 2017-07-07 10:16
1

最好是子UserControll公开一个事件,主窗口注册这个事件即可。

Timetombs | 园豆:3959 (老鸟四级) | 2017-07-07 13:51
1

不符合代码逻辑。

应该这样 —— 把UserControl中按钮弄成其成员事件;然后窗口来使用这个事件。

非要这么写,无非是传参传递或者static传递。

花飘水流兮 | 园豆:13615 (专家六级) | 2017-07-08 14:44
0

用Window.GetWindow(this)就可以拿到当前控件所在的窗体,然后你想干嘛就干嘛了。

不过,这种工作,MVVM才是最适合的,一个通知发出去就好了。

vbfool | 园豆:186 (初学一级) | 2017-07-11 10:17
0

设置一个两个窗体都可以访问的dataContext。mvvm啊。

会长 | 园豆:12463 (专家六级) | 2017-08-01 16:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册