首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >阻止WPF 4.0 Datagrid显示空列

阻止WPF 4.0 Datagrid显示空列
EN

Stack Overflow用户
提问于 2011-01-08 00:52:41
回答 3查看 13.2K关注 0票数 16

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-08 06:48:50

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

代码语言:javascript
复制
<DataGrid>
    <DataGrid.Columns>
        <DataGridTextColumn Header="FishLine ID" Width="*"/>
    </DataGrid.Columns>
    ...
</DataGrid>

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

代码语言:javascript
复制
<DataGrid HorizontalAlignment="Left">
    <DataGrid.Columns>
        <DataGridTextColumn Header="FishLine ID"/>
    </DataGrid.Columns>
    ...
</DataGrid>

希望这就是你要找的。

票数 16
EN

Stack Overflow用户

发布于 2011-01-08 07:10:56

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

代码语言:javascript
复制
<DataGrid AutoGenerateColumns = "False" ItemsSource = "{Binding BindSource}">
    <DataGrid.Columns>
        <DataGridTextColumn Header = "FishLine ID" Binding = "{Binding ID}" Width="*"/>
    </DataGrid.Columns>
</DataGrid>

这样就可以了:p

票数 3
EN

Stack Overflow用户

发布于 2013-02-14 15:52:50

如果一列的宽度是"*“,那么我在datagrid的右边看到过空列。要解决此问题,请将datagrid的宽度指定为"Width=500“,而不是MinWidth和MaxWidth。

代码语言:javascript
复制
<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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4628028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档