【问题标题】:Prevent WPF 4.0 Datagrid from Showing Empty Column防止 WPF 4.0 Datagrid 显示空列
【发布时间】:2011-06-05 09:49:11
【问题描述】:

我有一个带有 1 列数据网格的应用程序(目前)。如何从数据网格中删除第二个空列,以便在数据网格中仅显示包含数据的列。

【问题讨论】:

  • 可能你的意思是设置 Width="*" ?
  • 你是想让列消耗所有可用的Width还是隐藏“空列”?
  • 我希望列消耗所有可用的 WIdth

标签: c# .net wpf xaml datagrid


【解决方案1】:

如果一列的宽度是“*”,那么我已经在数据网格的右侧看到了空列。要解决这个问题,请将数据网格的宽度指定为“Width=500”,而不是 MinWidth 和 MaxWidth。

<DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="500" MinHeight="180" CanUserAddRows="False" CanUserDeleteRows="false" ItemsSource="{Binding MyList}" SelectedItem="{Binding SelectedValue}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Start Date" Binding="{Binding StartDate}" IsReadOnly="True" MinWidth="60" Width="Auto"/>
        <DataGridTextColumn Header="End Date" Binding="{Binding EndDate}" IsReadOnly="True" MinWidth="60" Width="*"/>
    </DataGrid.Columns>
</DataGrid>

【讨论】:

    【解决方案2】:

    我认为您需要将AutoGenerateColumns 设置为 False,然后执行以下操作:

    <DataGrid AutoGenerateColumns = "False" ItemsSource = "{Binding BindSource}">
        <DataGrid.Columns>
            <DataGridTextColumn Header = "FishLine ID" Binding = "{Binding ID}" Width="*"/>
        </DataGrid.Columns>
    </DataGrid>
    

    应该这样做:p

    【讨论】:

      【解决方案3】:

      正如 vorrtex 在评论中所说,最好的办法可能是设置列宽以填充所有可用空间:

      <DataGrid>
          <DataGrid.Columns>
              <DataGridTextColumn Header="FishLine ID" Width="*"/>
          </DataGrid.Columns>
          ...
      </DataGrid>
      

      根据您使用的容器,您还可以将网格对齐到左侧,在右侧留出空白空间:

      <DataGrid HorizontalAlignment="Left">
          <DataGrid.Columns>
              <DataGridTextColumn Header="FishLine ID"/>
          </DataGrid.Columns>
          ...
      </DataGrid>
      

      希望这就是你要找的……

      【讨论】:

      • 您的回答对我不起作用,而是我使用了以下对我有用的 DataGrid 属性定义:RowHeaderWidth="0"
      猜你喜欢
      • 2016-01-22
      • 2020-12-15
      • 1970-01-01
      • 2014-05-08
      • 2017-08-03
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多