2013-12-02 3 views
1

Мне нужно получить доступ к коллекции столбцов данных в моем классе модели, но когда я попробую это, он говорит, что свойство столбцов сетки данных не имеет доступного setter.MVVM Silverlight DataGrid: Binding Columns Collection

Итак, есть ли способы обхода доступа к классу Columns в классе модели?

Мой XAML-код, как это:

<sdk:DataGrid RowDetailsVisibilityMode="VisibleWhenSelected" Columns="{Binding GridColumns, Mode=TwoWay}" 
         AutoGenerateColumns="False" IsReadOnly="True" SelectionMode="Single" 
         ClipboardCopyMode="ExcludeHeader" HorizontalAlignment="Stretch" 
         VerticalAlignment="Stretch" Margin="0,0,0,27" HeadersVisibility="Column" Grid.Row="1" 
         SelectedItem="{Binding SelectedItem, Mode=TwoWay}" 
         ItemsSource="{Binding DataList, Mode=TwoWay, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" > 

ответ

1

Вы немогу привязать к Columns собственности, потому что `ы не DependencyProperty. Поэтому просто добавьте столбцы из кода, если вам нужно передать их из другого места. Если они не зависят от контекста, то назначение их в XAML, вероятно, будет лучше.

На боковой ноте «сбор колонок для сбора данных в моей модели» звучит довольно странно для MVVM. Обычно модель не должна даже знать, что такое DataGrid.

+0

Добавляя столбцы из кода, вы имеете в виду код позади? Если это так, наши руководители не хотят кодирования кода. Весь процесс должен выполняться в классе модели. Я нашел способ привязки сетки к объекту datagrid в классе модели. Спасибо, в любом случае. – Cem

Смежные вопросы