我有以下数据网格
<DataGrid
Grid.Column="0"
Grid.Row="1"
CanUserAddRows="False"
CanUserDeleteRows="False"
AutoGenerateColumns="False"
SelectionUnit="FullRow"
SelectionMode="Single"
Height="auto"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
ItemsSource="{Binding TableSummaries }">
<DataGrid.Columns>
<DataGridCheckBoxColumn Width="*" Binding="{Binding IsChecked}"/>
<DataGridTextColumn Header="Source Table" Binding="{Binding SourceTableFullName}" Width="4*"></DataGridTextColumn>
<DataGridTextColumn Header="EDW Schema" Binding="{Binding SchemaName}" Width="2*"></DataGridTextColumn>
<DataGridTextColumn Header="EDW Table" Binding="{Binding TableName}" Width="4*"></DataGridTextColumn>
<DataGridTextColumn Header="Status" Binding="{Binding Status}" Width="*"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
并在viewmodel中我有属性
public bool IsChecked { get; set; }
当应用程序运行时,复选框显示但不可点击。我无法检查它们或对它们做任何事情
我错过了什么吗?
谢谢!
更新:
我添加了IsReadOnly =&#34; false&#34;到datagrid只是看它是否仍然是相同的结果。
答案 0 :(得分:0)
如果您使用模板列
,该怎么办?<DataGridTemplateColumn Header="CheckBox" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox Binding="{Binding IsChecked, Mode=TwoWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
这有用吗?
另外,运行应用程序时是否在输出窗口中出现任何绑定错误并实现了INotifyPropertyChanged?
答案 1 :(得分:0)
我发现问题TableSummaries是一个IEumerable,它需要实现IList,它运行得很好。