在XAML-WPF中设置列标题名称

问题描述 投票:11回答:2

我想在绑定到数据库的WPF数据网格中设置用户定义的列标题。

用于显示ServerID,EventlogID我想在列标题中显示为Server,Event Log。

我已经尝试过这些......

 <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>

这样可以正常工作,它会更改列标题,并且还会显示数据。

但我的问题是它显示两次作为XAML的前两个列标题和DB的其他两个列标题。

  |Server|Event Log|ServerID|EventLogID|

如何克服这种复制?请帮忙!

c# wpf xaml datagrid
2个回答
12
投票

那是因为你离开了AutoGenerateColumns="True"删除它,并且将不再有重复。

您当前正在自动添加列,然后手动添加第二列!


0
投票

XAML:将qazxsw poi事件添加到qazxsw poi事件中:

AutoGeneratingColumn="OnAutoGeneratingColumn"

代码隐藏:添加事件处理程序如下:

DataGrid
© www.soinside.com 2019 - 2024. All rights reserved.