【问题标题】:How can I make double clicking on a DataGrid item open a more detailed view?如何使双击 DataGrid 项目打开更详细的视图?
【发布时间】:2013-03-24 11:20:07
【问题描述】:

请原谅任何基本错误 - 我是实体框架和 WPF 的新手。

我在 TabControl 中有一个 DataGrid。网格绑定到实体框架模型。

我的最终目标是能够双击 DataGrid 中的一行并打开一个新选项卡,其中包含同一记录的更详细视图。

到目前为止,我已经能够捕获双击事件:

<Style TargetType="DataGridRow">
    <EventSetter Event="MouseDoubleClick" Handler="MemberRowDblClick" />
</Style>

但无法识别我的 C# 中点击的行。

我也不确定是否有一种聪明的方法可以从行中返回数据。 IE。如果我想对记录的内容做点什么,从行索引返回有多容易?

很抱歉一次问两个问题,但我偷偷怀疑一个会影响另一个。

【问题讨论】:

  • 在我的脑海中,您的事件处理程序的sender 参数应该是DataGridRow...不是吗?
  • @DanJ 这正是我需要的推动。将 sender 转换为 DataGridRow 并将它的子项转换为我的模型类型允许我完全访问基础数据。如果您想将其作为答案,我很乐意接受。
  • 完成。很高兴这有帮助。 :)

标签: c# wpf entity-framework datagrid


【解决方案1】:

虽然声明为Object 类型,但事件处理程序的sender 参数包含触发事件的行。

sender 转换为DataGridRow 应该可以满足您的需求。

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多