C# WPF-在列表框项中使用网格

C# WPF-在列表框项中使用网格,c#,wpf,listview,grid,listviewitem,C#,Wpf,Listview,Grid,Listviewitem,首先,我是WPF的初学者,所以请用简单的词来解释它 我想用相当多的元素来定制listview项。我决定使用网格来很好地对齐它。不幸的是,当我试图查看是否所有内容都在调整大小时,背景(listview项)会调整大小,而网格则不会。我认为这是因为网格没有正确地连接到listview项。所以问题是,我如何将网格附加到listview项,以便可以适当地缩放内容 下面是代码(由于我试图解决问题,所以有点混乱): 这是您需要的 在列表视图中添加此样式资源,并从网格中删除宽度 <ListVie

首先,我是WPF的初学者,所以请用简单的词来解释它

我想用相当多的元素来定制listview项。我决定使用网格来很好地对齐它。不幸的是,当我试图查看是否所有内容都在调整大小时,背景(listview项)会调整大小,而网格则不会。我认为这是因为网格没有正确地连接到listview项。所以问题是,我如何将网格附加到listview项,以便可以适当地缩放内容

下面是代码(由于我试图解决问题,所以有点混乱):


这是您需要的

在列表视图中添加此样式资源,并从网格中删除宽度

    <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相同(除了我没有在最后复制我将编辑)我只想让里面的所有元素都按比例缩放吗