C# WPF DataGrid数据和列不可见
我所做的是设置具有多行选择支持的datagrid。然而,问题是当C# WPF DataGrid数据和列不可见,c#,wpf,datagrid,C#,Wpf,Datagrid,我所做的是设置具有多行选择支持的datagrid。然而,问题是当AutoGenerateColumns设置为false时,多行选择有效,但我从数据库上传的数据不显示。当我将AutoGenerateColumns切换为true时,我可以看到数据,但单击多选功能停止工作 以下是xaml代码: <DataGrid x:Name="Hello" ItemsSource="{Binding Path=Albums}" Grid.Row="0"
AutoGenerateColumns
设置为false时,多行选择有效,但我从数据库上传的数据不显示。当我将AutoGenerateColumns
切换为true时,我可以看到数据,但单击多选功能停止工作
以下是xaml代码:
<DataGrid x:Name="Hello" ItemsSource="{Binding Path=Albums}"
Grid.Row="0"
AutoGenerateColumns="True" SelectionMode="Extended" Loaded="dgCustomers_Loaded">
<DataGrid.Columns>
<DataGridCheckBoxColumn ElementStyle="{DynamicResource MetroDataGridCheckBox}"
EditingElementStyle="{DynamicResource MetroDataGridCheckBox}"
Header="IsSelected"
Binding="{Binding RelativeSource={RelativeSource AncestorType=DataGridRow}, Path=IsSelected, Mode=OneWay}"
/>
</DataGrid.Columns>
</DataGrid>
我认为在XAML中不能同时自动生成列和显式指定列。我相信是这样或那样。我相信您必须将
AutoGenerateColumns
设置为false,并为每个列指定一个绑定。当您将AutoGenerate设置为false时,数据不会显示,因为您需要明确标识要显示的“什么”数据。您需要添加自己的列,并将它们相应地绑定到实体中的属性。这有点烦人。谢谢你的迅速回复。
private void dgCustomers_Loaded(object sender, RoutedEventArgs e)
{
var grid = sender as DataGrid; //Creates its self as an object
grid.ItemsSource = CustomerDataAdapter.GetData(); //Shows all of the data in the Customer table
}