listviewitem中列表视图的wpf宽度问题

问题描述 投票:0回答:1

我有一个列表视图,其中我有几个listviewitems,但我想显示其他信息,因此我添加了一个扩展器,在所述listviewitem中显示另一个列表视图。但我的问题是listview只与listviews列宽一样宽。

XAML

<ListView.View>
            <GridView>
                <GridViewColumn>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Expander>
                                <ListView>
                                    <ListView.View>
                                        <GridView>
                                            <GridViewColumn Header="Order number" DisplayMemberBinding="{Binding Id}"/>
                                            <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Name}"/>
                                            <GridViewColumn Header="Price" DisplayMemberBinding="{Binding Price}"/>
                                        </GridView>
                                    </ListView.View>
                                </ListView>
                            </Expander>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="Order number" DisplayMemberBinding="{Binding OrderNumber}"/>
                <GridViewColumn Header="Customer" DisplayMemberBinding="{Binding Customer}"/>
                <GridViewColumn Header="Total Price" DisplayMemberBinding="{Binding CombinedPrice}"/>
                <GridViewColumn Header="Urgency" DisplayMemberBinding="{Binding Urgency}"/>
            </GridView>
        </ListView.View>
    </ListView>
c# wpf listview listviewitem expander
1个回答
0
投票

您的问题是因为扩展器位于列表视图中的单元格内,并且该单元格将限制它的大小。

它不会扩展到其内容的大小,因为ListView列不会动态调整大小。

您可以考虑使用togglebutton和popup。将popup的isopen绑定到togglebutton缺血。

弹出窗口是有效的单独窗口,因此不在单元格周围的“框”内。

您也可以考虑将rowdetails展开到行下方的数据网格。

https://www.wpf-tutorial.com/datagrid-control/details-row/

© www.soinside.com 2019 - 2024. All rights reserved.