将值数据绑定到gridviewcolumn标头?

时间:2008-11-26 20:20:09

标签: wpf data-binding

有可能吗?

我有一个包含几个gridviewcolumns的列表视图。最后一列有一个动态标题。我不知道列标题在设计时会是什么。它实际上是一个我想要显示为字符串的数字。

    <GridViewColumn Header="{Binding Path=SomeValue}" 
                    DisplayMemberBinding="{Binding Path=OtherValue}"/>

这似乎不起作用。数据将绑定正常只是标题保持空白。单步执行代码,它甚至不会破坏SomeValue属性。

2 个答案:

答案 0 :(得分:2)

我认为您的问题是“SomeValue”属性的来源。如果绑定到对象列表,那么由该对象上的属性确定标题是没有意义的,因为那样每个对象都可以有一个不同的标题。基本上你要说的是“将列的标题绑定到'SomeValue'属性,该属性与我的'OtherValue'属性所在的对象相同。” “SomeValue”需要来自除网格项绑定的列表之外的其他来源。您需要在绑定中设置“RelativeSource”或“ElementName”属性。

答案 1 :(得分:1)

  1. 阅读帖子 http://blogs.infragistics.com/blogs/josh_smith/archive/2008/06/26/data-binding-the-isvisible-property-of-contextualtabgroup.aspx
  2. 2.在步骤1中创建一个datacontext间谍类,然后复制并粘贴它,这是几行(

    3.使用datacontext间谍

    <common:DataContextSpy x:Key="dci" DataContext="{Binding SomeProperty}" />
    
    <DataGridTemplateColumn Header="{Binding Source={StaticResource dci},  
                            Path=DataContext.SomePropertysListOfValues[14]}">