Wpf Dockfill在mstsc activeX控件中不工作
我正在尝试在WPF中创建rdp。我使用AxMSTSCLib库在wpf应用程序中创建rdp客户机。我计划创建一个承载rdp的usercontrol。 但是我可以看到windows主机的灰色区域。我需要根据windows主机的大小填充rdp客户端Wpf Dockfill在mstsc activeX控件中不工作,wpf,windows,winforms,activex,windowsformshost,Wpf,Windows,Winforms,Activex,Windowsformshost,我正在尝试在WPF中创建rdp。我使用AxMSTSCLib库在wpf应用程序中创建rdp客户机。我计划创建一个承载rdp的usercontrol。 但是我可以看到windows主机的灰色区域。我需要根据windows主机的大小填充rdp客户端 public partial class RDPUserControl : UserControl { internal RDPActiveXControl _rdp; internal string Server
public partial class RDPUserControl : UserControl
{
internal RDPActiveXControl _rdp;
internal string Servername { get; set; }
internal string Username { get; set; }
internal string Password { get; set; }
internal TabItem TabItem { get; set; }
public RDPUserControl()
{
InitializeComponent();
}
private void InitData()
{
_rdp = new RDPActiveXControl();
((System.ComponentModel.ISupportInitialize)(_rdp)).BeginInit();
_rdp.Name = "rdp";
_rdp.Enabled = true;
wfHost.Child = _rdp;
((System.ComponentModel.ISupportInitialize)(_rdp)).EndInit();
}
internal void Connect()
{
_rdp.Server = Servername;
_rdp.UserName = Username;
_rdp.AdvancedSettings7.ClearTextPassword = Password;
_rdp.ColorDepth = 24;
_rdp.AdvancedSettings7.SmartSizing = true;
_rdp.AdvancedSettings7.AuthenticationLevel = 2;
_rdp.AdvancedSettings7.EnableCredSspSupport = true;
_rdp.Width = Convert.ToInt32(this.ActualWidth);
_rdp.Height = Convert.ToInt32(this.ActualHeight);
_rdp.DesktopWidth = Convert.ToInt32(this.ActualWidth);
_rdp.DesktopHeight = Convert.ToInt32(this.ActualHeight);
_rdp.OnDisconnected += _rdp_OnDisconnected;
try
{
_rdp.Connect();
}
catch(Exception e)
{
MessageBox.Show("Connection Failed: "+e.Message);
}
}
private void _rdp_OnDisconnected(object sender, AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEvent e)
{
MainWindow window = Application.Current.MainWindow as MainWindow;
Page page = window._mainFrame.Content as Page;
ConnectionsPage connectionPage = page as ConnectionsPage;
connectionPage.CloseTab(TabItem);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
InitData();
Connect();
}
如何将RDP ActiveXControl设置为windowsFormHost的完整大小
我试过了
_rdp.Dock = System.Windows.Forms.DockStyle.Fill;
但它会使应用程序消失。有人知道这有什么问题吗?。任何工作示例都会有所帮助
_rdp.Dock = System.Windows.Forms.DockStyle.Fill;