我想将'ObservableCollection'绑定到Silverlight dataGrid并允许内容可编辑。
我有以下XAML,允许在UI中进行编辑,但是一旦我点击该行,它就会变回原来的。
我显然错过了什么,有什么想法吗?
<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>
答案 0 :(得分:1)
字符串是不可变的。也就是说,您无法更改字符串的特定实例的值。将字符串值分配给字符串时会发生的情况是创建一个新的String对象并将其分配给您的变量。
绑定通常适用于对象的属性。您基本上将字符串视为数据源和可以更改的属性。最终结果是值被更改然后被丢弃,因为列表中的实际字符串没有被替换。
您希望拥有一个包含字符串属性的简单对象列表。