如何使DataGrid列水平对齐拉伸和自定义列名-UWP DataGrid

时间:2019-10-16 08:20:14

标签: c# uwp

UWP DataGrid:DataGrid

问题1:我想使列的宽度相等,并使其占据所有可用宽度,那是怎么回事?

xaml:

$.ajax({
  type:'post',
  url:"catalog/calcdiv.php",
  data:form_data,
  success:function(data){
     // indicate the ajax has been done, release the next step
     $("#smartwizard").smartWizard("next");
  },
  complete: function(){ ajaxInvoke = false; }
});

我的DataGrid ItemSource在我的ViewModel中:

<controls:DataGrid x:Name="dt_Home" AutoGenerateColumns="True"
                           CanUserResizeColumns="False"
                           AlternatingRowBackground="Gainsboro"
                           ItemsSource="{Binding UserSource, Mode=OneWay}"
                           IsReadOnly="True"/>

第二季度:,我想修改列名,例如,将 First 列更改为显示 FIRST NAME ,那是什么?

image

1 个答案:

答案 0 :(得分:2)

  

Q1:我想使列的宽度相等,并使其占据所有可用宽度,那怎么办?

如果要使所有列占据所有可用列,则可以按比例设置列宽。请将每个宽度设置为Width="*"

<controls:DataGrid.Columns>
    <controls:DataGridTextColumn
        Width="*"
        Binding="{Binding Id}"
        Header="ID"
        Tag="Id"
        />
    <controls:DataGridTextColumn
        Width="*"
        Binding="{Binding Title}"
        Header="Title"
        Tag="Title"
        />
    <controls:DataGridComboBoxColumn
        Width="*"
        Binding="{Binding Link}"
        Header="Link"
        ItemsSource="{x:Bind source}"
        Tag="Link"
        />
    <controls:DataGridTextColumn
        Width="*"
        Binding="{Binding Type}"
        Header="Type"
        Tag="Type"
        />
    <controls:DataGridTextColumn
        Width="*"
        Binding="{Binding Remark}"
        Header="Remark"
        Tag="Remark"
        />
    <controls:DataGridTextColumn
        Width="*"
        Binding="{Binding Time}"
        Header="Time"
        Tag="Time"
        />
</controls:DataGrid.Columns>
  

Q2:我想修改列名,例如,将FirstName列更改为显示FIRST NAME,那是怎么回事?

FirstName将显示DataGridTextColumn标头属性,因此您可以像下面那样将FirstName编辑为FIRST NAME。

<controls:DataGridTextColumn
    Width="*"
    Binding="{Binding FName}"
    Header="FIRST NAME"
    Tag="Time"
    />