C# 在XAML-WPF中设置列标题名称
我想在绑定到数据库的WPF datagrid中设置用户定义的列标题 为了在列标题中显示ServerID,EventlogID,我想显示为Server,Event Log 我已经试过了C# 在XAML-WPF中设置列标题名称,c#,wpf,xaml,datagrid,C#,Wpf,Xaml,Datagrid,我想在绑定到数据库的WPF datagrid中设置用户定义的列标题 为了在列标题中显示ServerID,EventlogID,我想显示为Server,Event Log 我已经试过了 <DataGrid x:Name="dataGrid1" ItemsSource="{Binding}" AutoGenerateColumns="True" > <DataGrid.Columns> <DataGridTextColumn Header="
<DataGrid x:Name="dataGrid1" ItemsSource="{Binding}" AutoGenerateColumns="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="Server" Width="Auto" IsReadOnly="True" Binding="{Binding Path=ServerID}" />
<DataGridTextColumn Header="Event Log" Width="Auto" IsReadOnly="True" Binding="{Binding Path=EventLogID}" />
</DataGrid.Columns>
</DataGrid>
如何克服这种复制?
请帮忙 这是因为您保留了
AutoGenerateColumns=“True”
将其删除,这样就不会再有重复
您当前正在自动添加列一次,然后手动添加第二次 XAML:Add
AutoGeneratingColumn=“OnAutoGeneratingColumn”
事件到DataGrid
event:
<DataGrid x:Name="dataGrid1" ItemsSource="{Binding YourItems}" AutoGenerateColumns="True" AutoGeneratingColumn="OnAutoGeneratingColumn">
是的:)我的意思是我错过了基本的:-/
<DataGrid x:Name="dataGrid1" ItemsSource="{Binding YourItems}" AutoGenerateColumns="True" AutoGeneratingColumn="OnAutoGeneratingColumn">
private void OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
switch (e.Column.Header)
{
case "ServerID":
e.Column.Header = "Server";
break;
case "EventID":
e.Column.Header = "Event";
break;
default:
e.Cancel = true;
break;
}
}