有可能吗?
我有一个包含几个gridviewcolumns的列表视图。最后一列有一个动态标题。我不知道列标题在设计时会是什么。它实际上是一个我想要显示为字符串的数字。
<GridViewColumn Header="{Binding Path=SomeValue}"
DisplayMemberBinding="{Binding Path=OtherValue}"/>
这似乎不起作用。数据将绑定正常只是标题保持空白。单步执行代码,它甚至不会破坏SomeValue属性。
答案 0 :(得分:2)
我认为您的问题是“SomeValue”属性的来源。如果绑定到对象列表,那么由该对象上的属性确定标题是没有意义的,因为那样每个对象都可以有一个不同的标题。基本上你要说的是“将列的标题绑定到'SomeValue'属性,该属性与我的'OtherValue'属性所在的对象相同。” “SomeValue”需要来自除网格项绑定的列表之外的其他来源。您需要在绑定中设置“RelativeSource”或“ElementName”属性。
答案 1 :(得分:1)
2.在步骤1中创建一个datacontext间谍类,然后复制并粘贴它,这是几行(
)3.使用datacontext间谍
<common:DataContextSpy x:Key="dci" DataContext="{Binding SomeProperty}" />
<DataGridTemplateColumn Header="{Binding Source={StaticResource dci},
Path=DataContext.SomePropertysListOfValues[14]}">