gpt4 book ai didi

wpf - 根据 ElementHost 大小调整表单大小

转载 作者:行者123 更新时间:2023-12-02 02:13:45 24 4
gpt4 key购买 nike

我有一个 Form(winform),它包含 Elementhost。在运行时,我将我的 WPF 用户控件托管到此 elementhost。我对 elementhost 使用了 AutoSize = True

Elementhost 根据 WPF 用户控件大小自行调整大小。但是如何根据我的 ElementHost 的大小调整我的表单。

谢谢,

最佳答案

这里是答案:

将 ElementHost.Child 设置为 WPF 用户控件后。我将执行以下功能:

public System.Windows.Size GetElementPixelSize(UIElement element) 
{
Matrix transformToDevice;
var source = PresentationSource.FromVisual(element);
if (source != null)
transformToDevice = source.CompositionTarget.TransformToDevice;
else
using (var Hwndsource = new HwndSource(new HwndSourceParameters()))
transformToDevice = Hwndsource.CompositionTarget.TransformToDevice;


if (element.DesiredSize == new System.Windows.Size())
element.Measure(new System.Windows.Size(double.PositiveInfinity, double.PositiveInfinity));

return (System.Windows.Size)transformToDevice.Transform((Vector)element.DesiredSize);
}

原始方法发布于:How do I convert a WPF size to physical pixels?

现在我从新大小设置客户端大小。

关于wpf - 根据 ElementHost 大小调整表单大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11573690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com