WPF中控制窗口显示位置的三种方式

首先新建一个WPF工程,在主界面添加一个按钮,并给按钮添加点击事件button1_Click,然后新建一个用于测试弹出位置的窗口TestWindow。
1、在屏幕中间显示,设置window.WindowStartupLocation = WindowStartupLocation.CenterScreen;

private void button1_Click(object sender, RoutedEventArgs e)
{
TestWindow window = new TestWindow();
window.WindowStartupLocation = WindowStartupLocation.CenterScreen;
window.ShowDialog();
}

2、在父窗口中间显示,

设置window.WindowStartupLocation = WindowStartupLocation.CenterOwner;,并指定Owner。

private void button1_Click(object sender, RoutedEventArgs e)
{
TestWindow window = new TestWindow();
window.WindowStartupLocation = WindowStartupLocation.CenterOwner;
window.Owner = this;
window.ShowDialog();
}

3、在任意位置显示,设置window.WindowStartupLocation = WindowStartupLocation.Manual;并制定窗口的Left和Top坐标。

private void button1_Click(object sender, RoutedEventArgs e)
{
TestWindow window = new TestWindow();
window.WindowStartupLocation = WindowStartupLocation.Manual;
window.Left = 0;
window.Top = 0;
window.ShowDialog();
}
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WPF创建类似Visual Studio的停靠窗口需要使用WPF的布局容器和控件。 首先,我们可以使用DockPanel作为主要的容器,它可以根据子控件的Dock属性将子控件停靠在容器的顶部、底部、左侧、右侧或者间。 然后,我们可以使用TabControl控件作为主要的容器,用于承载不同的视图窗口。我们可以将每个视图窗口作为TabControl的一个TabItem,并在每个TabItem放置相应的内容。 接下来,我们可以使用Grid或者其他布局容器来放置具体的控件和内容。在Grid,可以定义多个行和列,通过设置Grid.RowSpan和Grid.ColumnSpan属性来控制控件的跨度。这样可以实现类似Visual Studio的多个窗口在一个停靠容器的布局显示。 此外,我们还可以使用Splitter控件来实现窗口的分隔和调整大小功能。Splitter可以将容器分隔成两个可调整大小的区域,通过调整Splitter的位置,可以改变两个区域的大小。 最后,我们需要编写相应的事件处理程序来实现停靠窗口的拖动和停靠功能。可以通过捕获鼠标事件,在鼠标按下时记录初始位置,在鼠标移动时计算鼠标的偏移量,并将停靠窗口进行相应的移动。在鼠标释放时,根据鼠标位置和容器的布局来确定停靠窗口的最终位置。 总的来说,在WPF创建类似Visual Studio的停靠窗口需要使用合适的布局容器和控件,以及编写相应的事件处理程序来实现拖动和停靠功能。这样可以实现类似Visual Studio的窗口布局和交互体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeanGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值