Привязать ли значение к заголовку gridviewcolumn? - PullRequest
1 голос
/ 26 ноября 2008

Возможно ли это?

У меня есть список с несколькими столбцами gridview. Последний столбец имеет динамический заголовок. Я не знаю, какой будет заголовок столбца во время разработки. На самом деле это число, которое я хочу отобразить в виде строки.

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

Это не похоже на работу. Данные будут хорошо связываться, только заголовок останется пустым. Шаг по коду, и он даже не нарушает свойство SomeValue.

Ответы [ 2 ]

2 голосов
/ 27 ноября 2008

Я думаю, что ваша проблема - источник свойства SomeValue. Если вы привязываетесь к списку объектов, не имеет смысла определять заголовок по свойству этого объекта, потому что тогда вы можете иметь разные заголовки для каждого объекта. По сути, вы говорите: «Свяжите заголовок столбца со свойством SomeValue, которое живет на том же объекте, что и мое свойство OtherValue». SomeValue должно происходить из другого источника, кроме списка, к которому привязан ваш элемент сетки. Вам нужно либо установить свойство «RelativeSource», либо свойство «ElementName» в привязке.

1 голос
/ 02 сентября 2011
  1. читать пост http://blogs.infragistics.com/blogs/josh_smith/archive/2008/06/26/data-binding-the-isvisible-property-of-contextualtabgroup.aspx

2.создать шпионский класс datacontext, соответствующий сообщению на шаге 1 (скопировать и вставить его, это пара строк)

3. Использование шпиона данных и текста

<common:DataContextSpy x:Key="dci" DataContext="{Binding SomeProperty}" />

<DataGridTemplateColumn Header="{Binding Source={StaticResource dci},  
                        Path=DataContext.SomePropertysListOfValues[14]}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...