- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 WPF 中有 2 个类(class):
在 session 中我有 2 个 ObservableCollections
;包含 People
对象的 AttendingMeeting
和 NotAttendingMeeting
在 xaml 中,DataContext
设置为 Meeting
,并且我有 2 个 DataGrid
(AttendingMeeting
和未参加 session
)
我需要向每个 DataGrid
添加一个 Button
以便在 Meeting
中添加和删除,但是随后我需要更改Button
上的 DataContext
,例如:AttendingMeeting
到 Meeting
,以便 Meeting
类可以处理在 ObservableCollection
中添加和删除 People
。
如何在 xaml 中执行此操作(将 DataContext
从 AttendingMeeting
项目更改为家长 parent-> Meeting
)?
最佳答案
假设您尝试从 DataGrid
中绑定(bind)到 Meeting 类上的命令:
您可以在绑定(bind)上使用 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
绑定(bind)到具有您感兴趣的 DataContext
的父级。 relativeSource
关于wpf - 如何将按钮的DataContext更改为父级DataContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1471643/
我是一名优秀的程序员,十分优秀!