如何将按钮的DataContext更改为父级DataContext?

2023-12-12

我在 WPF 中有 2 个课程:

  • Meeting
  • People

在会议中我有 2ObservableCollections; AttendingMeeting and NotAttendingMeeting包含People objects

在 xaml 中DataContext被设置为Meeting,我有 2DataGrids (AttendingMeeting and NotAttendingMeeting)

我需要添加一个Button到每一个DataGrids 添加和删除Meeting,但是我需要改变DataContext on the Button来自例如:AttendingMeeting to Meeting, 所以这样Meeting类可以处理添加和删除People来自ObservableCollections.

我怎样才能在xaml中做到这一点(改变DataContext from AttendingMeeting给父母的物品parent-> Meeting)?


假设您尝试从以下内容绑定到 Meeting 类上的命令DataGrid:

您可以使用RelativeSource在您的绑定上到达DataContext您感兴趣的。您的标记将类似于以下内容:

<Grid DataContext="..."> <!-- Assuming a grid is you're layout root and that it's datacontext is the Meeting you spoke of -->
   ...
   <DataGrid ...>
      ...

      <Button Content="Click Me!"
              Command="{Binding Path="DataContext.RemovePersonCommand"
                                RelativeSource={RelativeSource FindAncestor,
                                                AncestorType={x:Type Grid}}}"
              CommandParameter="{Binding}"/> <!-- This would be binding to the current person -->
      ...
   </DataGrid>
   ...
</Grid>

你也可以使用ElementName绑定到具有DataContext如果您正在处理大量嵌套和RelativeSource太复杂了。

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

如何将按钮的DataContext更改为父级DataContext? 的相关文章

随机推荐

  • R:Git + Shiny服务器自动化部署

    我有一个 Shiny 服务器安装 以及一个适用于我的 Shiny 应用程序的 Git 存储库 我开发了 Shiny 应用程序并将其推送到 Git 存储库 并且我希望 Shiny 服务器从 Git 存储库加载该应用程序的最新版本 我怎样才能做
  • IE Flexbox justify-内容中心溢出问题

    在 IE11 上查看以下演示时 存在内容显示右对齐并被推到屏幕之外的问题 Codepen 演示 以下是证明内容中心合理性的代码 search results display webkit box display webkit flex di
  • 尝试禁用浏览器的后退按钮

    我写了两个 HTML 文件 登录 html a href Home html Next Page a 首页 html a href Login html gt gt Prev Page a 我正在尝试禁用浏览器的后退按钮 如果我在 c
  • 绘图中的注释自动放置

    我有代码可以轻松地自动处理着色和绘制多个图 对我来说 我想让注释变得更容易 goal 如果注释 xy 与前一个注释冲突 请向上移动 直到与其他注释不发生冲突 如果有一个功能已经能够实现这一点 那将是一个梦想 但我找不到 否则 列出注释并在坐
  • 如何从流中准确读取一个字符?

    我有一个带有一些文本数据的流 可以是 ASCII UTF 8 Unicode 编码是已知的 我需要从流中准确读取一个字符 而不再前进流位置 StreamReader 是不合适的 因为它会积极地从流中预取数据 Ideas 如果您想一次一个字节
  • 正则表达式匹配确切的数字,如果它存在于字符串中则不匹配

    我的正则表达式 3 b Matches 103 134 256 3 我希望它只匹配唯一的 3 数字 3 将是一个动态数字 正则表达式必须匹配该确切数字 而不是其他数字 如果该数字存在于另一个数字 如 103 中 则它不能匹配 那么它不应该匹
  • 对 NHibernate 缓存搜索的影响,其结果包括映射为公式的计算值(例如排名)

    当在 NHibernate 中使用公式定义计算属性时 当公式根据查询限制 尤其是查询缓存 改变其结果时 会产生什么影响 更具体地说 请考虑以下简单的 C 类 public class Entity public Entity public
  • 使用 Linux binutils 设置 ELF 映像基地址的优雅方法?

    对于个人项目 我需要编写一个在非默认内存地址加载的可执行文件 从这个问题 我知道我可以设置 ELF 的入口地址并手动修改节地址 以便可执行文件有效地基于我选择的某个地址 然而 答案表明 只有当我不进行 glibc 初始化 这个项目需要它 时
  • 无序线程问题

    我问过关于锁定的问题here人们回答说我的锁实现没有问题 但我发现了问题 这是相同的锁实现 我得到了奇怪的结果 我希望看到数字从 1 开始 但它是从 5 开始 示例如下 class Program static object locker
  • asp.net mvc 不断用 .wml 覆盖 text/html 内容类型

    我正在开发一个可以在移动 手机 设备上查看的网站 我只是使用纯 HTML 4 01 没有什么特别的 除了诺基亚 Series 40 第 1 5 版之外 这些页面在我们测试过的所有移动浏览器上都呈现良好 仔细观察 IIS 似乎会自动渲染内容类
  • BitBucket - 直接添加到开发分支而不是主分支

    我们正在将 SCM 更改为 BitBucket 目前我们使用 Clearcase SCM 我们在不同阶段 流中拥有代码 开发 UAT 和生产 其中开发具有开发人员当前正在处理的代码 UAT 已完成由 BP 测试的更改 而生产具有部署到生产的
  • 为文本区域内的线条着色

    有没有办法让textarea显示颜色的线条 我想要实现的是每隔一行都着色 即白色 灰色 白色 灰色 白色 灰色 以获得更好的可读性 用户应该写很多东西 比如 输入名称 每一个都从新行开始 无论如何 我确实使用 jQuery 所以如果他们为此
  • 带返回值的跨域弹窗

    这是设置 我在两个不同的域上有两个网站 www website1 com www someotherwebsite com 这就是我想做的 当用户开机时www website1 com然后单击一个链接 我想要一个弹出窗口显示www some
  • 使用 gdb 在多屏幕窗口中调试 MPI

    如果我有一个 MPI 程序 想要使用 gdb 进行调试 同时能够查看所有单独进程的输出 我可以使用 mpirun n
  • DbContext.OnConfiguring 没有被调用并且在 ASP.NET Core 中表现得很奇怪

    在我的 asp net core 项目中我有一个ReadingContext类派生自DbContext 根据文件OnConfiguring应该为每个实例调用DbContext即被创建 但就我而言 仅当我在调试时检查实例时才会调用它 我里面有
  • 如何在使用 AMD 时在 Backbone.js 中加载引导模型 (require.js)

    Backbone js 文档建议以这种方式加载引导模型 但这是一个不能使用的模式AMD 方法 使用 require js 唯一可能的解决方案是声明存储 JSON 数据的全局变量并稍后在相关初始化方法中使用该变量 有没有更好的方法这样做 没有
  • 为什么有些 Gulp 流默认“流动”,而另一些则不流动?

    考虑这两个 gulp 任务 gulp task src function done gulp src docs on end function console log ending done gulp task dest function
  • Firebase Cloud Functions 未记录,似乎未部署

    Firebase Cloud Functions 自大约 10 年后就没有记录过 今天下午4点 它们似乎也没有正确部署 但在没有日志的情况下很难判断 网站上以及使用 firebase 函数 日志 运行 cli 时缺少日志 有人知道出了什么问
  • 最小年龄验证 laravel

    我想验证用户信息 例如出生日期 因为我在验证中使用了以下语句行 但是如何使其动态 以便用户的最低年龄可以为 13 岁 低于该年龄的用户无法注册 return Validator make data first name gt require
  • 如何将按钮的DataContext更改为父级DataContext?

    我在 WPF 中有 2 个课程 Meeting People 在会议中我有 2ObservableCollections AttendingMeeting and NotAttendingMeeting包含People objects 在