当我将ObservableCollection
绑定到DataGrid
并将AutoGenerateColumns
设置为true时,我可以双击要编辑的单元格,然后可以编辑单元格中的文本。
但是,当我将AutoGenerateColumns
设置为false并想使用自定义的DataGridTextColumns
时,我也可以双击单元格。但是原来单元格中的文本被删除了,所以我得到的是一个空字符串而不是我想要稍微修改的字符串。
对此有什么想法吗?
这是我的DataGrid
:
<DataGrid ItemsSource="{Binding Tasks}"
Margin="0,10,30,0"
AutoGenerateColumns="False"
Style="{DynamicResource DataGridStyle}"
HorizontalScrollBarVisibility="Hidden"
SelectedItem="{Binding SelectedTask}">
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="Margin" Value="6,0,0,0" />
<Setter Property="Text" Value="{Binding Description}" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
编辑:
我还注意到,当 AutoGenerateColumns
设置为 false 时,插入新行时绑定的文本没有被设置...而当我将 AutoGenerateColumns
设置为 true 时,会绑定插入的文本。