GridView 中的附加列

发布于 2024-11-05 11:12:25 字数 790 浏览 0 评论 0原文

我使用列表来填充 WPF GridView 作为其 ItemsSource。这是我使用的 xaml 标记:

<ListView.View>
  <GridView>
    <GridViewColumn Header="Subject" DisplayMemberBinding="{Binding Path=Subject}" />
    <GridViewColumn Header="Start" DisplayMemberBinding="{Binding Path=StartingDate}" />
    <GridViewColumn Header="End" DisplayMemberBinding="{Binding Path=EndingDate}" />
    <GridViewColumn Header="Commissioner" DisplayMemberBinding="{Binding Path=Commissioner}" />
    <GridViewColumn Header="Description" DisplayMemberBinding="{Binding Path=QuickNotes}" />
  </GridView>
</ListView.View>

令人惊讶的是(至少对我来说),我得到了一个额外的(空)列,如下所示。我错过了什么重要的一点? 在此处输入图像描述

I use a List to populate a WPF GridView as its ItemsSource. This is the xaml markup I use:

<ListView.View>
  <GridView>
    <GridViewColumn Header="Subject" DisplayMemberBinding="{Binding Path=Subject}" />
    <GridViewColumn Header="Start" DisplayMemberBinding="{Binding Path=StartingDate}" />
    <GridViewColumn Header="End" DisplayMemberBinding="{Binding Path=EndingDate}" />
    <GridViewColumn Header="Commissioner" DisplayMemberBinding="{Binding Path=Commissioner}" />
    <GridViewColumn Header="Description" DisplayMemberBinding="{Binding Path=QuickNotes}" />
  </GridView>
</ListView.View>

Surprisingly (at least for me), I get an additional (empty) column as shown below. What important point am I missing?
enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瀟灑尐姊 2024-11-12 11:12:25

一种替代方法是使用 DataGrid 而不是 ListView。然后,您可以将其中一列的宽度设置为 *,这将导致它占用所有剩余空间。遗憾的是,您无法在 GridView 列上设置 * 的宽度。

<DataGrid>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Subject" />
        <DataGridTextColumn Header="Start" />
        <DataGridTextColumn Header="End" />
        <DataGridTextColumn Header="Commissioner" />
        <DataGridTextColumn Header="Description" Width="*" />
    </DataGrid.Columns>
</DataGrid>

One alternative is to use a DataGrid instead of the ListView. Then you can set one of the Columns to have a Width of * which will cause it to take up all remaining space. Sadly you can't set a width of * on GridView columns.

<DataGrid>
    <DataGrid.Columns>
        <DataGridTextColumn Header="Subject" />
        <DataGridTextColumn Header="Start" />
        <DataGridTextColumn Header="End" />
        <DataGridTextColumn Header="Commissioner" />
        <DataGridTextColumn Header="Description" Width="*" />
    </DataGrid.Columns>
</DataGrid>
倒数 2024-11-12 11:12:25

它不是“实际”列,它更像是最后一列旁边的空白区域。

It's not an "actual" column, it's more like empty space next to the last column.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文