0

我有一个 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="True"  Cursor="Cross" Margin="0,0,0,0" Padding="0,0,0,0" UseWaitCursor="True">
    </ax:AxViewerActiveX>
</WindowsFormsHost>

我第一次ShowDialog()打开这个窗口时,窗口显示为空白: 在此处输入图像描述

第二次它应该出现:

在此处输入图像描述

请,有人可以帮助第一次正确地渲染窗口吗?

此窗口类的构造函数:

this.InitializeComponent();
_axViewer.BeginInit();
_axViewer.EndInit();

Focus();
_axViewer.Focus();

调用时很简单:

w3d.WindowState = WindowState.Maximized;
w3d.ShowDialog();
4

1 回答 1

1

尝试将 ActiveX 控件的初始化放在 .Loaded() 方法中?

this.InitializeComponent();
Loaded += delegate {
    _axViewer.BeginInit();
    _axViewer.EndInit();

    Focus();
    _axViewer.Focus();
};
于 2012-08-22T16:37:41.013 回答