Wpf Windows窗体第一次显示为白色
我有一个WPF窗口,它基本上占据了整个空间:Wpf Windows窗体第一次显示为白色,wpf,activex,windowsformshost,Wpf,Activex,Windowsformshost,我有一个WPF窗口,它基本上占据了整个空间: <WindowsFormsHost Grid.RowSpan="2" Name="wfh" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Cursor="IBeam" ForceCursor="True" SnapsToDevicePixels="True" > <ax:AxViewerActiveX x:Name="_axViewer" AutoSize="T
<WindowsFormsHost Grid.RowSpan="2" Name="wfh" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Cursor="IBeam" ForceCursor="True" SnapsToDevicePixels="True" >
<ax:AxViewerActiveX x:Name="_axViewer" AutoSize="True" Cursor="Cross" Margin="0,0,0,0" Padding="0,0,0,0" UseWaitCursor="True">
</ax:AxViewerActiveX>
</WindowsFormsHost>
调用时,它很简单,如下所示:
w3d.WindowState = WindowState.Maximized;
w3d.ShowDialog();
是否尝试将ActiveX控件的初始化放在.Loaded()方法中
请与ActiveX控件的所有者联系以获取支持。您可以显示一些代码隐藏吗?@HansPassant:我们是ActiveX控件的所有者。如果您只需执行
显示
,怎么样?只是想知道当调用ShowDialog
时,队列中是否有一些滞后的异步消息。如果控件在Show
中正确呈现,则问题在于ActiveX控件。它没有解决。无论如何,谢谢你!似乎问题出在ActiveX控件的背景绘制问题上。
w3d.WindowState = WindowState.Maximized;
w3d.ShowDialog();
this.InitializeComponent();
Loaded += delegate {
_axViewer.BeginInit();
_axViewer.EndInit();
Focus();
_axViewer.Focus();
};