2010-06-08 1 views
0

Я только что обновил приложение с помощью новейшего инструментария WPF, и теперь у меня возникла проблема с моим стилем.wpf toolkit (февраль 2010 г.) datagrid с MVVM - стиль показывает имя модели просмотра на «запасной колонке»

Когда я связываю некоторые данные, например, с двумя столбцами в сетке, заголовок в свободной области справа показывает имя ViewModel.

Так что, если я связать IEnumerable с двумя столбцами Сетка Заголовок выглядит как

Column1, Column1, [Пространство имен] .MyViewModel

Перед обновлением февраля 2010 он просто используется, чтобы Column1, COLUMN2 - конечное пространство пустое.

Я могу понять, почему, поскольку контекст данных данных сетки является ViewModel, тогда как столбцы, похоже, имеют другой DataContext ... но я не могу понять, как я должен это исправить.

я определяю мой стиль заголовка следующим образом ...

....

<WpfToolkit:DataGridHeaderBorder 
    <Border BorderBrush="Blue" BorderThickness="0,1,0,0"> 
     <TextBlock Text="{Binding}" Margin="4,0,4,0" /> 
    </Border> 
</WpfToolkit:DataGridHeaderBorder> 

....

ли я теперь нужен отдельный стиль для «запасной колонки» или чего-то еще?

Может ли кто-нибудь помочь, пожалуйста?

Приветствие,

Энди

ответ

0

Мы решили перейти на сетку Telerik, чтобы получить функциональность группы, поэтому никогда не решали проблему, поскольку она стояла. Вероятно, это было в массе стилей, которые накопила программа!

1

В TextBlock (<TextBlock Text="{Binding}" Margin="4,0,4,0" />) вы связывающие непосредственно к ViewModel, который является объектом. В качестве резервной копии используется object.ToString(), а Binding - имя ViewModel. Вы должны указать путь, т. Е. <TextBlock Text="{Binding Text}" Margin="4,0,4,0" /> для привязки.

+0

Но это будет означать, что заголовки столбцов, которые имеют контекст данных фактического значения, не будут работать. –

+0

Просто не связывайте текст тогда? – Femaref

+0

Извините, я, вероятно, не понял, я не хочу, чтобы привязка применялась к «запасному столбцу» - только к другим столбцам, я не знаю, есть ли у него другой тип или что-то еще? Раньше было до обновления февраля 2010 года. –