C# WPF-在列表框项中使用网格
首先,我是WPF的初学者,所以请用简单的词来解释它 我想用相当多的元素来定制listview项。我决定使用网格来很好地对齐它。不幸的是,当我试图查看是否所有内容都在调整大小时,背景(listview项)会调整大小,而网格则不会。我认为这是因为网格没有正确地连接到listview项。所以问题是,我如何将网格附加到listview项,以便可以适当地缩放内容 下面是代码(由于我试图解决问题,所以有点混乱):C# WPF-在列表框项中使用网格,c#,wpf,listview,grid,listviewitem,C#,Wpf,Listview,Grid,Listviewitem,首先,我是WPF的初学者,所以请用简单的词来解释它 我想用相当多的元素来定制listview项。我决定使用网格来很好地对齐它。不幸的是,当我试图查看是否所有内容都在调整大小时,背景(listview项)会调整大小,而网格则不会。我认为这是因为网格没有正确地连接到listview项。所以问题是,我如何将网格附加到listview项,以便可以适当地缩放内容 下面是代码(由于我试图解决问题,所以有点混乱): 这是您需要的 在列表视图中添加此样式资源,并从网格中删除宽度 <ListVie
这是您需要的
在列表视图中添加此样式资源,并从网格中删除宽度
<ListView BorderThickness="0"
Height="440">
<ListView.Resources>
<Style TargetType="ListViewItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Border Background="{TemplateBinding Background}">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.Resources>
通过修改列表视图中的默认teplate项,将使内容重新调整大小
如无必要,还应拆下以下部件
<ListView.View>
<GridView>
<GridViewColumn/>
</GridView>
</ListView.View>
ListView通常是这样使用的:
<ListView BorderThickness="0" >
<ListViewItem>
<Grid >
....
</Grid>
</ListViewItem>
</ListView>
使用绑定:
<ListView BorderThickness="0" >
<ListView.View>
<GridView>
<GridViewColumn Header="Name" Width="200" DisplayMemberBinding="{Binding Name}"/>
<GridViewColumn Header="Address" Width="200" DisplayMemberBinding="{Binding Address}"/>
</GridView>
</ListView.View>
或者像这样:
<ListView BorderThickness="0" >
<ListViewItem>
<Grid >
....
</Grid>
</ListViewItem>
</ListView>
....
是否确实需要同时设置ListView.View
和ListViewItem
?它看起来像:
顺便说一句,你不应该设置网格的宽度和高度,最重要的是你的网格的内容看起来很混乱。您必须在正确的Grid.Col或Grid.Row中设置这些标签,为什么要设置ColumnSpan/RowSpan?如果您确定它是正确的?当您指定了显式宽度时,您的网格将不会调整大小。您指的是哪种宽度?行/列定义中的还是?我删除了后一个,但它没有改变。你能发布一个预期结果的屏幕吗?你确定你的listview同时设置了@pushpraj和它与我发布的xaml相同(除了我没有在最后复制我将编辑)我只想让里面的所有元素都按比例缩放吗