当 DatagridCheckboxColumn 正确绑定时,自定义数据网格模板列复选框未绑定到对象?

Custom data grid template column check box isn't binding to object when DatagridCheckboxColumn is correctly binding?

我有一个要在 WPF 中创建的自定义列。

<DataGrid.Columns>
    <DataGridTemplateColumn>
        <DataGridTemplateColumn.Header>
            <CheckBox x:Name="checkAll" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"></CheckBox>
        </DataGridTemplateColumn.Header>
        <DataGridTemplateColumn.CellTemplate >
           <DataTemplate>
                <CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center" />
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    <DataGridTextColumn Header="#" Binding="{Binding userFriendlyId}" IsReadOnly="True"/>
    <DataGridTextColumn Header="Log Number" Binding="{Binding logNumber}" />
</DataGrid.Columns>

两个 DataGridTextColumns 都正确绑定到我的对象的属性,如果我将我的自定义列换成 DataGridCheckboxColumn,它会正确绑定。我正在尝试使用此列,因为我想检查数据网格的 all/uncheck 所有选项。此外,与使用 DataGridCheckboxColumn 相比,只需单击一下即可触发这些复选框。

我使用这段代码来分配数据网格的 ItemSource:

DataGrid.ItemsSource = samples;
DataGrid.Items.Refresh();

我目前也有 this.DataContext = this;,尽管这似乎没有任何区别。

编辑:网格中显示的数据模型:

public class Sample
{
    public bool isSelected { get; set; }
    public int userFriendlyId { get; set; }
    public string logNumber { get; set; }
}

将绑定设置为 IsChecked="{Binding isSelected}"

绑定中的 属性 名称区分大小写,因此如果您的对象模型使用 isSelected,那么您的绑定也应该如此。