1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

C# WPFでウィンドウ拡大時にウィンドウを崩さずに表示させるのを苦戦した話

Posted at

対象の方

僕の場合、WPFでやりましたが、Winformでもできると思います。

HorizontalAlignmentとVerticalAlignmentで普通に表示できると思ってた

実際にやってみましたが、水平方向の配置と垂直配置なので、関係ありません。

image.png

直接指定

これは普通に画面の解像度、拡大率によって普通に崩れます。

ウィンドウサイズを取得

僕の場合、1:1のウィンドウなので、ウィンドウサイズを取得して、それの1/2を取得すれば、そのままきれいに表示できました。
これは画面サイズではなく、ウィンドウサイズを取得しているので、真四角でも崩れずに表示できるようになりました。

MainWindow.xml.cs
  private void window_main_SizeChanged(object sender, SizeChangedEventArgs e)
  {
    // ウィンドウの幅を半分にする
    double newWidth = window_main.Width / 2;
    left_con.Width = newWidth;
    }

僕の場合、WindowStateがnormalに戻った時はなんか崩れたので、初期サイズを指定しました。

MainWindow.xml.cs

            if (this.WindowState == WindowState.Normal)
            {
                //左側
                left_content.Width = 575;
                left_content.Height = 652
                
                //右側
                right_content.Width = 575;
                right_content.Height = 652;

            }
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?