首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WPF ListView GridViewColumn宽度为空间的50%

WPF ListView GridViewColumn宽度为空间的50%
EN

Stack Overflow用户
提问于 2019-05-23 00:09:54
回答 2查看 1.2K关注 0票数 0

我得到了一个xaml的ListView

代码语言:javascript
运行
复制
<ListView Grid.Row="4" Grid.Column="1" 
              ItemsSource="{Binding Path=ListViewAgentItems}" 
              HorizontalAlignment="Left" 
              HorizontalContentAlignment="Left">
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Stretch" />
            </Style>
        </ListView.ItemContainerStyle>
        <ListView.View>
            <GridView>
                <GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Agent ID" DisplayMemberBinding="{Binding AgentId}"/>
                <GridViewColumn HeaderContainerStyle="{StaticResource ListViewStyle}" Header="Distance" DisplayMemberBinding="{Binding Distance}"/>
            </GridView>
        </ListView.View>
</ListView>

这是样式:

代码语言:javascript
运行
复制
<Window.Resources>
    <Style x:Key="ListViewStyle" TargetType="{x:Type GridViewColumnHeader}">
        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
    </Style>
</Window.Resources>

我希望两个GridViewColumn都均匀地占用所有空间,这意味着ListView位于网格列中,所以我希望GridView占用整个列空间,并且GridView的两列都将占用50%的宽度。到目前为止,ListView会自动调整大小以适应它所保存的数据,这是我不想要的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-23 18:08:53

如果切换到只读DataGrid,则可以使用star-sizing

代码语言:javascript
运行
复制
<DataGrid Grid.Row="4" Grid.Column="1" 
          ItemsSource="{Binding Path=ListViewAgentItems}" 
          IsReadOnly="True" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Agent ID" Binding="{Binding AgentId}" Width="1*"/>
        <DataGridTextColumn Header="Distance" Binding="{Binding Distance}" Width="1*"/>
    </DataGrid.Columns>
</DataGrid>
票数 0
EN

Stack Overflow用户

发布于 2019-05-23 01:15:58

简单的解决方案是使用datagrid而不是listview。您可以将datagrid xxxx列宽设置为*。

如果您确实希望使用listview,并且没有设置宽度以便可以将宽度设置为特定的数字,请参见。How can I get a ListView GridViewColumn to fill the remaining space in my grid?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56261020

复制
相关文章

相似问题

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