如何知道 TabControl 的 TabItem 中的 WindowsFormsHost Rendered Size?

How to know WindowsFormsHost Rendered Size which is placed in a TabItem of TabControl?

我正在开发一个 Wpf 应用程序,它有一个带有 3 个选项卡项的 TabControl,每个选项卡项包含一个 WindowsFromsHost.On 应用程序启动 WindowsFromsHost.ActualHeight 和 WindowsFromsHost.ActualWidths 即将到来0. 如何获取渲染后的尺寸?

您可以使用 TabItem 的 Loaded 事件。在启动时获取控件的大小还为时过早。

ActualWidth 和 ActualHeight 适合渲染大小。

示例:

Xaml:

<TabItem x:Name="aaa" Loaded="aaa_Loaded">

后面的代码:

private void aaa_Loaded(object sender, RoutedEventArgs e)
{
  //get rendered size
}

我可以使用下面的代码获得实际宽度和实际高度

_winFormHost.Dispatcher.BeginInvoke(DispatcherPriority.Background, new DispatcherOperationCallback(delegate(Object state)
                    {
                        _height = (int)_winFormHost.ActualHeight;
                        _width = (int)_winFormHost.ActualWidth;
                        return null;
                    }), null);