gpt4 book ai didi

wpf - 在 ItemsControl 中绑定(bind)到 Item 的 DataContext

转载 作者:行者123 更新时间:2023-12-03 10:23:30 24 4
gpt4 key购买 nike

如何从嵌套数据模板(项目数据模板中控件的数据模板)内绑定(bind)到 ItemsControl 中的项目 DataContext?

我无法使用 TemplatedParent ,因为它是双模板的。
而且我不知道如何使用FindAncestor,AncestorType因为我不知道每个项目的类型是什么。

任何的想法?

最佳答案

如果我没看错,你有:

- ItemsControl
|- ItemTemplate Item.DataContext<--|
|- Button |
|- ContentTemplate <-- Bind something in this to|

如果是这种情况,您要查找的是 ContentPresenter .即 ItemsControl 的容器类型生成。问题是你会有多个 ContentPresenter祖先。您可以使用 AncestorLevel 来处理这个问题。 RelativeSource 的属性(property).

因此,在我的示例中, DataTemplateButton可以访问 DataContext行的:
<DataTemplate>
<TextBlock Text="{Binding DataContext.Name, RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}, AncestorLevel=2}}" />
</DataTemplate>

关于wpf - 在 ItemsControl 中绑定(bind)到 Item 的 DataContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17555376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com