繁体   English   中英

在活动窗口中编辑活动WPF控件

[英]Edit active WPF control in an active window

我有一个带有WindowsFormsHost对象的WPF窗口。 理想情况下,我希望在窗口处于活动状态时访问WindowsForm控件。

我可以注册一个名称或类似WindowsFormsHost控件所需的名称,然后执行以下操作:

            WindowCollection mainWin = System.Windows.Application.Current.Windows;

在这种特殊情况下,我知道我需要的窗口将始终位于mainWin [2]中,但是我不确定如何直接访问WindowsFormsHost对象以向其中添加Winform控件。

伪代码,则需要一个具有公共属性的MyWindow类,该类在此窗口中以MyWindowsFormsHost的名称公开WindowsFormsHost Controll。

WindowCollection mainWin = System.Windows.Application.Current.Windows;
MyWindow win = (MyWindow)mainWin[2];
win.MyWindowsFormsHost.Child = MyNewControl;

我想这就是您要实现的目标:

XAML

    <WindowsFormsHost Name="host"></WindowsFormsHost>

private void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
        {
            var txb = new System.Windows.Forms.TextBox();
            host.Child = txb ;
            host.Child = new System.Windows.Forms.DataGrid();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM