C# WinUI 3 取得和設定畫面和元件的寬度與高度

主視窗寬高

在 MainWindow.xaml.cs 中要取得畫面寬高:
    
string str = $"Size: {this.AppWindow.Size.Width}x{this.AppWindow.Size.Height}";
// Size: 700x500
    

設定畫面寬高:
    
this.AppWindow.Resize(new (700, 500));
    

設定主畫面座標:
    
this.AppWindow.Move(new (500,500));
    

元件寬高

本次測試在 MainWindow.xaml 中定義一個 RelativePanel 布局:
    
<RelativePanel Name="RelativePanel">
</RelativePanel>
    

要設定寬高很簡單:
    
RelativePanel.Height = 200;
RelativePanel.Width = 200;
    

但是會發現在取得寬高的時候都是 0 ,經過一翻研究,比較好的取得方式就是等到目標元件載入完成後再去看他的寬高:
    
RelativePanel.Loaded += (_, _) =>
{
    string str = $"RelativePanel: {RelativePanel.ActualWidth}x{RelativePanel.ActualHeight}";
    // RelativePanel: 200x200
};
    

留言