将 window 推到前台
Pushing window to foreground
我正在使用列表视图向用户显示多个项目。现在我希望用户能够通过双击打开详细信息 window。这工作正常但是当 window 打开时它会立即被推到后台。
我用 window 状态等尝试了几种方法。结果在每种情况下都很糟糕(window 被推到后台或 window 是永久覆盖)。唯一相对较好的解决方案是我更改 MouseLeftButtonUp 事件中的 DoubleClick 事件。现在,当用户单击某个项目时,window 会出现在前台。
这是来自控制器的我的代码class:
public void ShowDetails(object details)
{
Details detailWindow = new Details(this, Config.GetCultureInformation());
detailWindow.LoadData(details);
detailWindow.Show();
}
这是我的代码,来自 UI Class
private void listViewItem_MouseClick(object sender, MouseButtonEventArgs e)
{
ListViewItem item = sender as ListViewItem;
AppControl.ShowDetails(item.Content);
}
您应该将其显示为模态。
public void ShowDetails(object details)
{
Details detailWindow = new Details(this, Config.GetCultureInformation());
detailWindow.LoadData(details);
detailWindow.ShowDialog(); //Instead of detailWindow.Show();
}
如果你想保留你的主 window 而不冻结使用 detailWindow.BringToFront()
或 detailWindow.TopMost = true
,在这个 other post
上抢劫
来源here.
好的。感谢您的帮助,在 Topmost 的帮助下,我找到了创建适合我的解决方案的方法。
在 window 的构造函数中,我将 topmost 设置为 true,在 Window 加载事件中,我将 topmost 设置为 false。我的 Window 在前台很显眼,但用户可以离开它并可以在主应用程序中处理事情。
我正在使用列表视图向用户显示多个项目。现在我希望用户能够通过双击打开详细信息 window。这工作正常但是当 window 打开时它会立即被推到后台。
我用 window 状态等尝试了几种方法。结果在每种情况下都很糟糕(window 被推到后台或 window 是永久覆盖)。唯一相对较好的解决方案是我更改 MouseLeftButtonUp 事件中的 DoubleClick 事件。现在,当用户单击某个项目时,window 会出现在前台。
这是来自控制器的我的代码class:
public void ShowDetails(object details)
{
Details detailWindow = new Details(this, Config.GetCultureInformation());
detailWindow.LoadData(details);
detailWindow.Show();
}
这是我的代码,来自 UI Class
private void listViewItem_MouseClick(object sender, MouseButtonEventArgs e)
{
ListViewItem item = sender as ListViewItem;
AppControl.ShowDetails(item.Content);
}
您应该将其显示为模态。
public void ShowDetails(object details)
{
Details detailWindow = new Details(this, Config.GetCultureInformation());
detailWindow.LoadData(details);
detailWindow.ShowDialog(); //Instead of detailWindow.Show();
}
如果你想保留你的主 window 而不冻结使用 detailWindow.BringToFront()
或 detailWindow.TopMost = true
,在这个 other post
来源here.
好的。感谢您的帮助,在 Topmost 的帮助下,我找到了创建适合我的解决方案的方法。
在 window 的构造函数中,我将 topmost 设置为 true,在 Window 加载事件中,我将 topmost 设置为 false。我的 Window 在前台很显眼,但用户可以离开它并可以在主应用程序中处理事情。