将XAML中WPF窗口的启动位置更改为Bottom-Right

时间:2016-03-09 09:19:51

标签: c# wpf xaml

是否可以将XAML中WPF窗口的手动启动位置设置为在屏幕的 Bottom-Right 角落开始?我可以在代码隐藏中执行此操作,但是当窗口打开时,它会弹出手动位置(屏幕中间左侧),然后它会跳到屏幕的右下方,看起来不太好。

我可以使用以下编码设置XAML角落左上角的位置:

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" 
    Height="500" Width="500"
    WindowStartupLocation="Manual" 
    Left="0" Top="0">
</Window>

我可以使用XAML编码对屏幕的右下角进行相同的操作以适应任何屏幕尺寸吗?

2 个答案:

答案 0 :(得分:4)

我认为无法通过xaml进行设置。但是,您甚至可以在窗口加载之前将其设置为不会从手动位置跳转。

public MainWindow()
{
    InitializeComponent();
    Left = System.Windows.SystemParameters.WorkArea.Width - Width;
    Top = System.Windows.SystemParameters.WorkArea.Height - Height;
}

答案 1 :(得分:1)

WindowStartupLocation="Manual"中设置XAML

然后在Window_Loaded中设置位置,

private void Window_Loaded(object sender, RoutedEventArgs e)
 {
    var desktopWorkingArea = System.Windows.SystemParameters.WorkArea;
    this.Left = desktopWorkingArea.Right - this.Width;
    this.Top = desktopWorkingArea.Bottom - this.Height;
 }