我有一个列表视图,其中我有几个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>
您的问题是因为扩展器位于列表视图中的单元格内,并且该单元格将限制它的大小。
它不会扩展到其内容的大小,因为ListView列不会动态调整大小。
您可以考虑使用togglebutton和popup。将popup的isopen绑定到togglebutton缺血。
弹出窗口是有效的单独窗口,因此不在单元格周围的“框”内。
您也可以考虑将rowdetails展开到行下方的数据网格。