listbox item自适应高度

listboxitem无法自适应高度,我们可以修改其ItemsPanelTemplate模板为UniformGrid,这样就可以了

实现代码举例

 <ListBox ItemsSource="{Binding mainmodels}">
                        <ListBox.ItemsPanel>
                            <ItemsPanelTemplate>
                                <UniformGrid Rows="4"/>
                            </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <Button Content="{Binding Content}" />
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                    </ListBox>

另外,listview继承listbox,listbox继承itemcontrol,所以下面这个也是一样的,只是少了切换选择功能

<ItemsControl ItemsSource="{Binding mainmodels}">
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <UniformGrid Rows="4"/>
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <Button Content="{Binding Content}" />
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>

你可能感兴趣的:(WPF)