gpt4 book ai didi

WPF 不允许我在绑定(bind)路径上放置绑定(bind)——还有其他方法吗?

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

我有一个 DataTemplate我用作 CellTemplate对于 GridViewColumn .

我想为 DataTemplate 写这样的东西:

<DataTemplate
x:Key="_myTemplate">
<TextBlock
Text="{Binding Path={Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GridViewColumn}}, Path=Header}}" />
</DataTemplate>

我的 GridView绑定(bind)到 DataTable ,我想绑定(bind)到 DataTable 的列其名称等于 GridViewColumn 的 Header DataTemplate附在。 [我希望这是有道理的!]

不幸的是,这不起作用。我收到 XamlParseException:“无法在 'Binding' 类型的 'Path' 属性上设置 'Binding'。只能在 DependenceyObject 的 DependencyProperty 上设置'Binding'。”

我该如何设置?

编辑 (提升 DanM 对该问题的评论)

我基本上需要一个 DataTemplate其绑定(bind)由 DataContext 确定以及 DataTemplate 是哪一列附在。有替代方案吗?

最佳答案

您不能将绑定(bind)分配给任何属性。该属性必须是 Binding 类型之一或者被实现为对象的依赖属性。
Path Binding 类的属性是 PropertyPath 类型并且 Binding 没有将 Path 属性实现为依赖属性。因此,您不能以您尝试的方式动态绑定(bind)路径。

编辑

您基本上希望将元数据嵌入到驱动 DataTemplate 配置的绑定(bind)数据中。这不能仅在 XAML 中完成。您至少需要代码的一些支持。

在我看来,最好的方法是使用 ViewModel。这使得 XAML 中的绑定(bind)变得直截了当,并将“绑定(bind)什么与什么”决策下推到 ViewModel 的代码中。

关于WPF 不允许我在绑定(bind)路径上放置绑定(bind)——还有其他方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1157370/

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