WPF ListView调整大小疯狂
我正在尝试在WPF中调整ListView的大小。我想知道如何强制ListView缩小其宽度,使其只适合其列的宽度。我使用View属性绑定了一个ListView,并添加了一些GridViewColumns,如下所示:WPF ListView调整大小疯狂,wpf,listview,mvvm,resize,Wpf,Listview,Mvvm,Resize,我正在尝试在WPF中调整ListView的大小。我想知道如何强制ListView缩小其宽度,使其只适合其列的宽度。我使用View属性绑定了一个ListView,并添加了一些GridViewColumns,如下所示: <ListView ItemsSource="{Binding MyCollection}"> <ListView.View> <Gr
<ListView ItemsSource="{Binding MyCollection}">
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width={Binding NameWidth} DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Fee" DisplayMemberBinding="{Binding Fee}"/>
</GridView>
</ListView.View>
</ListView>
我绑定列的宽度,以便可以隐藏/取消隐藏列。当我取消隐藏列时,ListView会增长以适应新的宽度。但当我再次隐藏列时,ListView的宽度不会缩小
我尝试将ListView子类化,并调用一些命令,如
失效范围,失效度量,失效通常。但它们都不会导致ListView收缩
如果我将集合重新加载到ListView,它会收缩以适应。但我认为这并不优雅,也不是正确的做法。我穿过反射器,发现自己陷入了混乱的泥潭。有人能给我一些见解吗?您的ListView的大小可能是由其父容器决定的,而不是由其内容决定的。例如,ListView外部的网格、StackPanel、DockPanel、Border等可能会拉伸ListView以填充其宽度 如果这不能解决问题,请在一个空窗口中使用根包装测试ListView,以排除控件中任何其他周围的XAML,并为该窗口发布整个XAML