Привязка DataGridHeader ContentTemplate в Silverlight - PullRequest
0 голосов
/ 02 декабря 2010

Я знаю, что невозможно неявно связать текст с заголовком DataGrid с помощью Динамическая установка текста заголовка столбца Silverlight DataGrid , но я следил за некоторыми примерами кода в Интернете, чтобы заменить TextBlock для заголовка , Тем не менее, независимо от того, что я делаю, текст, к которому я привязан, не будет отображаться.

Мой XML с моей точки зрения:

<dg:DataGridTextColumn Binding="{Binding Path=UnitKey}" IsReadOnly="True">
 <dg:DataGridTextColumn.HeaderStyle>
  <Style TargetType="dataprimitives:DataGridColumnHeader">
   <Setter Property="ContentTemplate">
    <Setter.Value>
    <DataTemplate>
      <TextBlock Text="{Binding Path=KeyListName}"/>
    </DataTemplate>
    </Setter.Value>
   </Setter>
  </Style>
 </dg:DataGridTextColumn.HeaderStyle>
</dg:DataGridTextColumn>

My C # из моего просмотра Модель:

    public string KeyListName
    {
        get { return keyListName; }
        set
        {
            keyListName = value;
            raisePropertyChanged("KeyListName");
        }
    }

Я не могу понять, что я упустил .. Заранее спасибо за вашу помощь!

1 Ответ

0 голосов
/ 03 декабря 2010

вставьте текстовый текстовый текст в ваш текстовый блок

 <TextBlock DataContext="" Text="{Binding Path=KeyListName}"/>

ИЛИ

Если у них одинаковый текстовый текст с вашим UnitKey

<dg:DataGridTextColumn x:Name="dgColumnUnit" Binding="{Binding Path=UnitKey}" IsReadOnly="True">

Причина, по которой он не является обязательным, потому что родитель, который является вашим DataGridTextColumn, уже привязан, попробуйте отладить его и взгляните на ваше Окно вывода , которое покажет, что KeyListName не можетбыть найденным ....

...