| ■74930 / ) |
Re[1]: WPF上でのWindowsFormsユーザーコントロール |
□投稿者/ Hongliang (276回)-(2015/02/10(Tue) 12:20:12)
|
WinFormのコンテナ系コントロールには、AutoScaleModeというプロパティがあります。 https://msdn.microsoft.com/ja-jp/library/ms229605.aspx デザイナの初期値ではAutoScaleMode.Fontなので、フォントに依存して座標類が変換されます。 UserControlのフォントが未設定の場合、デザイン時はWinFormの標準であるMS UI Gothicを、実行時は親要素から引き継いだメイリオを使うため、座標変換が発生してそのような状況になっているのでしょう。 ・UserControlのFontを明示的に設定する ・UserControlのAutoScaleModeをDpiに設定する ・WindowsFormsHost(やその先祖)のFontFamilyやFontSizeをWinForm標準のと同じにする (フォントサイズの単位がWinFormとWPFで違いますが) のいずれかを行えば、とりあえずサイズが変に拡大されると言うことは無くなるでしょう。
// もう一つ、WindowsのDPI設定による影響ってのもあるんですが……。
|
|