新的 WPF 窗口仅显示在原始窗口下方

2024-03-14

在我的 WPF 应用程序中,主窗体上有一个 ListView,用于显示数据集中的绑定数据。当用户双击 ListView 中的一行时,会打开一个详细信息窗口。

在我的 XAML 中,我使用了一种样式在列表视图上创建双击处理程序:

<Style x:Key="ListViewDoubleClick" TargetType="{x:Type ListViewItem}">
    <EventSetter Event="MouseDoubleClick" Handler="HandleDoubleClick" />
</Style>
...
<ListView Name="searchResults" ItemContainerStyle="{StaticResource ListViewDoubleClick}>

在后面的代码中,我有一个字典来跟踪打开的详细信息窗口(一次可以打开多个),这样如果详细信息窗口已经打开,它就会被带到前面。我像这样处理双击:

private void HandleDoubleClick(object sender, MouseEventArgs e)
{
    DataRowView clickedRow = ((ListViewItem)sender).Content as DataRowView;
    int row = (int)clickedRow.Row["ID"];
    if (!displayedCards.ContainsKey(row))
    {
        DetailWindow window = new DetailWindow(RetrieveData(row));
        //window.Owner = this;
        displayedCards.Add(row, window);
        window.Show();
    }
    else
    {
        displayedCards[row].Activate();
    }
}

我的问题是,使用上面的代码,详细信息窗口在主窗体后面打开。如果我设置所有者信息(window.Owner = this),详细信息窗口在主窗体顶部打开,但主窗体永远无法出现在详细信息窗口前面。

The displayedCards[row].Activate()按我的预期工作,将该详细信息窗口带到所有其他详细信息窗口的前面,但它遇到了与上面相同的问题 - 它没有出现在主窗口前面。

我想要完成的任务是让详细信息窗口与主窗口位于同一级别/层(/z 顺序?),以便两者都可以出现在彼此的顶部,并且让详细信息窗口显示在主窗口的顶部打开时的主窗体。

Edit:如果它很重要,则详细信息窗口没有WindowStyle and AllowsTransparency设置为 true。我也没有窗口标题,并且该窗口没有出现在任务栏中。当试图解决这个问题时,我尝试设置WindowStyle to SingleBorderWindow,并且会出现同样的问题,只不过在绘制详细信息窗口时,详细信息窗口的边框显示在主窗体的顶部,然后将其推到主窗体后面。在显示详细信息窗口后,我的双击处理程序实际上是否可以将主窗体拉到前面?


您似乎没有告诉事件路由系统您已经处理了该事件。尝试设置e.Handled设置为 true 告诉 WPF 不允许进一步处理您的事件。看RoutedEventArgs.Handled 属性 http://msdn.microsoft.com/en-us/library/system.windows.routedeventargs.handled.aspx and 将路由事件标记为已处理和类处理 http://msdn.microsoft.com/en-us/library/ms747183.aspx有关 Handled 属性如何更改事件路由的更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

新的 WPF 窗口仅显示在原始窗口下方 的相关文章

随机推荐

  • .net core应用程序中如何进行基于组的授权?

    净核心应用程序 我的要求是添加基于组的授权 我是 Azure AD 的用户 我属于一些名称以 BR 和 AR 开头的组 属于 AR 组的用户只能访问我的 API 目前我的客户端应用程序是 Swagger 我仅通过 swagger 访问 AP
  • 找不到存储的图像

    我目前正在使用此代码来存储图像 可能是错误的 路径是这样的 public static final String IMAGE DIR test 保存图像的代码如下 public class ImageSaver private String
  • 如何在Python中模拟链式函数调用?

    我正在使用mock http www voidspace org uk python mock 由 Michael Foord 编写的库 用于帮助我在 django 应用程序上进行测试 我想测试我是否正确设置了查询 但我认为我不需要实际访问
  • Release 文件夹中的 vshost.exe 文件?

    为什么会为我的应用程序的发布版本生成 appname vshost exe 文件 我可能会补充一点 我正在使用外部 dll 库和一些不安全的代码 更有趣的是 我从 Release 文件夹启动的应用程序无法正常工作 从 Debug 文件夹启动
  • 自动在firestore索引中添加索引

    Can i 自动地添加索引在火库索引 我的应用程序使请求过滤器 and refers to 火库 for 显示结果 但如果firestore无法显示结果 在控制台中我看到link to 火库 for 添加索引 所以如果我push on th
  • 必须在 ConnectionDriverName 属性中指定 JDBC Driver 或 DataSource 类名“如何解决?”

    概述 这是我的第一个关于 Websphere 7 Server JPA 1 0 EJB Derby Database 的教程 第一 我的数据源名称是EJB3BANK 我的目标数据库是SHOP 第二 这个持久性 xml file
  • DropBoxManager 用例?

    我注意到一个DropBox管理器 http d android com reference android os DropBoxManager html自 FroYo API 8 以来已在 Android API 中引入 它看起来像是一个替
  • 简单测试 Spring Boot 安全性

    我正在努力测试受 Spring Security 保护的 URL 的访问控制 配置如下 http authorizeRequests antMatchers api user user authenticated antMatchers a
  • 如何加密 iPhone 上的 CoreData 内容

    我想将一些信息静态加密存储在 iPhone 应用程序上 我是 iPhone 开发新手 对 CoreData 以及它如何与视图集成不太熟悉 我的数据为 JSON 但我可以轻松地将其放入 SQLITE3 数据库或任何其他支持数据格式中 我将采用
  • Bootstrap 导航栏通知徽章

    我正在建立一个网站 允许用户互相发送消息 我使用 AJAX 收到了许多新消息 因此 我只需要找到一种方法来显示badge在用户的导航栏中 这是我想要实现的目标 我想要badge将使用创建 span class badge badge pil
  • ng-bootstrap 日期选择器不工作

    我正在尝试在我的 angular2 项目中使用 ng bootstrap 日期选择器 但出现以下错误 There is no directive with exportAs set to ngbDatepicker 这是我的代码
  • 从 URL 插入图像

    以下代码适用于大多数图像 URL 但对于此特定 URL 我收到错误 Sub test Sheets 1 Shapes AddPicture https images na ssl images amazon com images M MV5
  • 如何将侦听器附加到列表视图?

    我有一个ListView每行都有一个自定义布局TextView和三个EditText 当我单击其中的单个行时ListView一项活动启动后会将您带到另一页面 我写了一些代码 但它不起作用 代码如下所示 在适配器类 getView 方法中 我
  • Picasso 从其 URI 加载可绘制资源

    我必须展示一个drawable from res进入一个ImageView 在此应用程序中 出于某些原因我使用毕加索 在这种情况下 我需要加载drawable使用它的 URI 而不是它的 id 为此 这是我的代码 uri Uri parse
  • 如何将多个文件作为单独的数据帧读取并在列上执行计算?

    我计算单个股票的回报如下 data pd read csv r file csv data index data Date data Return data AAPL pct change 1 100 data out put Date A
  • 接收 gcm 推送通知时刷新活动

    Update GCM https developers google com cloud messaging 已弃用 请使用FCM https firebase google com docs cloud messaging How to
  • 如何覆盖温莎城堡中注册的组件?

    我刚刚开始使用 Windsor 所以请温柔点 我有一个场景 我希望能够覆盖 替换放置在 Windsor 容器内的组件 继续阅读 在我的产品代码中 我希望能够注册一个实现基类的组件 并使用容器来解析实现者 到目前为止 使用 container
  • 如何在 cypress 中测试错误请求

    我正在使用不正确的凭据测试 cypress 中的 POST 方法的日志记录 这会返回 400 个错误请求 我需要对其进行测试 这就是我所拥有的 describe Login API Test Correct user login gt it
  • 如何使用 pandas.assign 从 pandas DataFrame 索引创建新列

    我正在尝试使用 pandas 分配方法创建一个新列 该列从 Dataframe 索引中派生其值 我真的很想使用分配函数来实现所需的输出 我该怎么做呢 提前致谢 import pandas as pd df pd DataFrame 1 2
  • 新的 WPF 窗口仅显示在原始窗口下方

    在我的 WPF 应用程序中 主窗体上有一个 ListView 用于显示数据集中的绑定数据 当用户双击 ListView 中的一行时 会打开一个详细信息窗口 在我的 XAML 中 我使用了一种样式在列表视图上创建双击处理程序