があり、Form(winform)
含まれていますElementhost
。実行時に、WPF Usercontrols を this にホストしていelementhost
ます。AutoSize = True
elementhostに使用しました。
Elementhost
WPF Usercontrol のサイズに基づいて自身のサイズを変更します。しかし、ElementHost のサイズに基づいてフォームのサイズを変更する方法。
ありがとうございました、
があり、Form(winform)
含まれていますElementhost
。実行時に、WPF Usercontrols を this にホストしていelementhost
ます。AutoSize = True
elementhostに使用しました。
Elementhost
WPF Usercontrol のサイズに基づいて自身のサイズを変更します。しかし、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);
}
投稿された元の方法:WPFサイズを物理ピクセルに変換するにはどうすればよいですか?
次に、クライアントサイズを新しいサイズから設定します。
これに対する解決策はありますが、出力についてはわかりません。WPFデスクトップアプリケーションで機能しました。あなたがしなければならないのは、高さと幅をNAN(数字ではなく)に設定することです
this.Width = double.NaN;
this.Height = double.NaN;
申し訳ありませんが、サイズの変更をサブスクライブしてホストフォームを更新することはできませんか?