【发布时间】:2011-01-23 00:00:25
【问题描述】:
我正在尝试在 RadGridView 中创建一系列绑定列,并且我正在使用模板在其中两列中创建超链接。这基本上是我所拥有的:
<telerik:GridViewDataColumn IsReadOnly="True" UniqueName="Distributor" DataContext="{Binding Distributor}" CellTemplate="{StaticResource linkTemplate}"/>
和,
<DataTemplate x:Key="linkTemplate">
<TextBlock>
<Hyperlink DataContext={TemplateBinding DataContext} Click="Hyperlink_Click">
<TextBlock Text="{Binding Name}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
RadGridView 本身绑定到一组 DistributorContainer 对象,其中包括 Distributor 属性。 linkTemplate 直接引用 Distributor 对象中的属性,所以需要将超链接的 datacontext 设置为 Distributor。
不幸的是,超链接的数据上下文是 DistributorContainer 对象。我在绑定到分销商列表的列表上使用了 linkTemplate(以及 Hyperlink_Click 处理程序),我真的很想重新使用这个模板,因为它基本上是一样的。
为什么模板没有通过对 GridViewDataColumn 的 TemplateBinding 获取 Distributor 作为其 DataContext?
【问题讨论】:
标签: c# wpf data-binding telerik datatemplate