好了,对不起,我提前英语,在这里我需要什么:有没有更简单/更好的方法来自动调整一列ListView的内容?
我得到了ListView
在XAML(WPF),其中有项目位于什么,我需要的是一个项目有宽度等于ListView
的宽度。
到目前为止,我这样做:
<ListView Name="lvFiles" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid Width="{Binding ElementName="lvFiles", Path=ActualWidth}">
<!-- All the controls inside I need to present an item -->
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
但事实证明,在ListView
项目成为右侧裁剪垂直滚动条出现时。而且,当所有项目的总高度超过ListView.ActualHeight
时,所以我需要更复杂的用户绑定,因此更复杂。
此外,我的项目,我花了几个小时来解决问题,我的项目有时被剪在右侧,没有明显的原因。
于是我想出了这一点:
<ListView Name="lvFiles" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView>
<GridViewColumn Width="{Binding ElementName=lvFiles, Path=ActualWidth}">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Decorator Width="{Binding RelativeSource={RelativeSource
Mode=FindAncestor, AncestorType=ListViewItem},
Path=ActualWidth}">
<Grid Margin="0,0,18,0">
<!-- All the controls inside... -->
</Grid>
</Decorator>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
它解决问题的剪裁,也将其与一个圆柱的ListViewItem
自动调整大小解决了这个问题。但现在它似乎不是最简单的方法。有没有这样的?
在这种情况下,我看不到我的fav控件或任何项目。 ListView是空的。 – AgentFire
@AgentFire使用Snoop查看你去了哪里错误...我可以告诉你它的工作方式... – Ankesh
@AgentFire检查演示项目的链接 – Ankesh