dev*_*xer 5 wpf xaml binding datatemplate
我有一个DataTemplate我CellTemplate用作a的GridViewColumn.
我想写这样的东西DataTemplate:
<DataTemplate
x:Key="_myTemplate">
<TextBlock
Text="{Binding Path={Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GridViewColumn}}, Path=Header}}" />
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
我GridView被绑定到DataTable了,我要绑定的列的DataTable名字等于的头GridViewColumn的DataTemplate连接到.[我希望这是有道理的!]
不幸的是,这不起作用.我得到一个XamlParseException:"无法在'Binding'类型的'Path'属性上设置''绑定'.'绑定'只能在DependenceyObject的DependencyProperty上设置."
我怎么设置它?
编辑(由DanM提升评论的问题)
我基本上需要一个DataTemplate绑定由连接的DataContext列和哪个列决定DataTemplate.还有其他选择吗?
您不能将 Binding 分配给任何属性。该属性必须是对象的类型Binding或实现为对象的依赖属性。
Binding 类的属性Path是类型PropertyPath,并且 Binding 不将 Path 属性实现为依赖属性。因此,您无法按照您尝试的方式动态绑定路径。
编辑
您基本上希望将元数据嵌入到驱动 DataTemplate 配置的绑定数据中。这不能单独在 XAML 中完成。您至少需要代码的一些支持。
在我看来,最好的方法是使用 ViewModel。这使得 XAML 中的绑定变得简单,并将“什么与什么绑定”决策推送到 ViewModel 的代码中。
| 归档时间: |
|
| 查看次数: |
2007 次 |
| 最近记录: |