none
ListView能做到第一列的宽度自适应,其余列宽度固定吗? RRS feed

  • 问题

  • ListView的宽度是随窗口宽度变化的。我希望它的第一列能够自动增长,其余列则是保持固定宽度不变,请问如何实现?

    da jia hao!

    2018年5月22日 9:46

全部回复

  • 你好,

    >>ListView的宽度是随窗口宽度变化的。我希望它的第一列能够自动增长,其余列则是保持固定宽度不变,请问如何实现?

    我不知你说的自动增长是什么意思,如果是根据文字的长度来自适应的话,可以使用auto 来做, 如果是根据窗体的大小来改变的话,你可以, 你可以定义一个宽度的字段,并绑定到Width属性上,然后在Window_SizeChanged事件中改变这个值。

    <ListView x:Name="lstData"  ItemsSource="{Binding Products}" Margin="0,20,0,0">
                <ListView.View>
                    <GridView>
                        <GridViewColumn Header="Product ID" Width="auto"  DisplayMemberBinding="{Binding Path=ProductId}" />
                        <GridViewColumn Header="Product Name" Width="150" DisplayMemberBinding="{Binding Path=ProductName}" />
                        <GridViewColumn Header="Price" Width="100" DisplayMemberBinding="{Binding Path=Price}" />
                    </GridView>
                </ListView.View>
    </ListView>

    Best regards,

    Zhanglong


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年5月23日 2:40
  • 谢谢回复。我要的就是根据窗体大小来改变,请问我如何将变量绑定到Width属性呢?

    这个变量是否声明在窗体cs源代码文件里面?


    da jia hao!

    2018年5月23日 6:43
  • <GridViewColumn Header="文件名" Width="{Binding fileNameColumnWidth}" DisplayMemberBinding="{Binding FileName}"></GridViewColumn>

    我这样写了没任何效果啊。fileNameColumnWidth声明在窗体的cs里面,并且赋值了。。。。


    da jia hao!

    2018年5月23日 6:53