2010-09-23 2 views
0

Я хочу привязать «ObservableCollection» к Silverlight dataGrid и разрешить редактирование содержимого.Как создать простой редактируемый dataGrid в Silverlight

У меня есть следующий XAML, который позволяет редактировать в пользовательском интерфейсе, но как только я нажимаю на строку, она возвращается обратно к оригиналу.

Я, очевидно, что-то пропустил, какие-то идеи?

<sdk:DataGrid AutoGenerateColumns="False" 
        Height="81" 
        Margin="520,349,60,0" 
        Name="MessageBoxButtons" 
        ItemsSource="{Binding Path=ButtonsView}" 
        AlternatingRowBackground="Gainsboro" 
        RowBackground="White" 
        HeadersVisibility="All" 
        BorderThickness="2" 
        VerticalAlignment="Top" 
        CanUserSortColumns="False">      
     <sdk:DataGrid.Columns> 
      <sdk:DataGridTextColumn Binding="{Binding}" 
            CanUserReorder="True" 
            CanUserResize="True" 
            CanUserSort="True" 
            Width="*" 
            Header="Button Text" />    
     </sdk:DataGrid.Columns> 
    </sdk:DataGrid> 

ответ

1

Строки неизменяемы. То есть вы не можете изменить значение конкретного экземпляра строки. Что происходит, когда вы назначаете строковые значения для строк, так это то, что создается новый объект String и назначается вашей переменной.

Связывание обычно работает над свойствами объектов. Вы в основном рассматриваете строку как источник данных и свойство, которое можно изменить. Конечным результатом является то, что значение изменяется, а затем выбрасывается, поскольку фактические строки в списке не заменяются.

Вы хотите иметь список простых объектов, у которых есть строковые свойства.

+0

очевидно, что вы указали это – AwkwardCoder

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