【问题标题】:Is there a way to have a Window object be always on top of another Window object? (Modal Dialog)有没有办法让一个 Window 对象始终位于另一个 Window 对象之上? (模态对话框)
【发布时间】:2023-01-05 14:51:19
【问题描述】:
public void ShowDialog()
{
    Window dialogWindow = new Window(new SampleDialog());
    Application.Current.OpenWindow(dialogWindow);
    // dialogWindow should always be on top of MainPage Window 
}

我还需要一个模态对话框位于另一个模态对话框之上。就像保存对话框位于记事本应用程序和提示“你想替换它吗?”之上对话框位于保存对话框的顶部。

我试过社区工具包弹出窗口。但每个窗口只能有 1 个弹出窗口。 PushModalAsync 不是理想的结果,因为它仍然首选具有单独的对话框。

【问题讨论】:

标签: modal-dialog maui maui-windows maui-community-toolkit


【解决方案1】:

根据Windows in .Net Maui的官方文档,Windows的X和Y属性可以设置它的位置。但是我尝试使用这两个属性,它们没有用。

这是我的代码:

Window window = new Window(new NewPage1());
window.MaximumHeight = 200;
window.MaximumWidth = 400;
var width = App.Current.Windows.First().Width;
var height = App.Current.Windows.First().Height;
window.X = width/2;
window.Y = height/2;

您可以使用 .net 7 创建一个项目(这些属性在 .net 6 中不存在)进行测试。另外,大家可以在github上举报maui。

【讨论】:

  • 我的理解是 x 和 y 代表左右上下。但目前似乎没有前后或 z-index。发布在 Maui Github - github.com/dotnet/maui/issues/11778 问题已设置为他们的积压
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
相关资源
最近更新 更多