wpf toolkit (февраль 2010 г.) Сетка данных в стиле MVVM отображает имя модели представления в «запасной колонке» - PullRequest
0 голосов
/ 08 июня 2010

Я только что обновил свое приложение с помощью последнего набора инструментов WPF, и теперь у меня возникла проблема с моим стилем.

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

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

Столбец1, Столбец1, [Пространство имен] .MyViewModel

До обновления в феврале 2010 года в столбце 1, столбце 2 оставалось пустое окончательное пространство.

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

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

....

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

....

Теперь мне нужен отдельный стиль для «запасного столбца» или что-то в этом роде?

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

Приветствия

Andy

Ответы [ 2 ]

1 голос
/ 08 июня 2010

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

0 голосов
/ 12 октября 2011

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

...