可调整大小的WPF列表框/项目控制项目
我希望在WPF列表框(或ItemsControl)中具有类似GridSplitter的功能。以下代码不起作用,但演示了我想要实现的目标:可调整大小的WPF列表框/项目控制项目,wpf,listbox,itemscontrol,listboxitem,gridsplitter,Wpf,Listbox,Itemscontrol,Listboxitem,Gridsplitter,我希望在WPF列表框(或ItemsControl)中具有类似GridSplitter的功能。以下代码不起作用,但演示了我想要实现的目标: <ListBox ItemsSource="{Binding MyCollection}"> <ListBox.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"/>
<ListBox ItemsSource="{Binding MyCollection}">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding MyTextProperty}" Margin="0,0,10,0"/>
<GridSplitter
Width="5"
Background="Red"
HorizontalAlignment="Right"
ResizeBehavior="CurrentAndNext"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
有人对如何实现这一点有想法吗?为什么不使用ListView GridView?GridView支持调整列的大小。为什么不使用ListView GridView?GridView支持调整列的大小。GridSplitter将调整网格中的行/列的大小。您的代码有一个网格,每个列表框项有一行一列。拆分器不会做任何事情。@Phil:没错,在这种情况下拆分器不起作用,但我正在寻找一种方法使其正常工作,但我们期望它能做什么?这不明显。如果您正在寻找可调整大小的列,BalamBalam似乎有一个很好的答案。您的代码有一个网格,每个列表框项有一行一列。拆分器不会做任何事情。@Phil:没错,在这种情况下拆分器不起作用,但我正在寻找一种方法使其正常工作,但我们期望它能做什么?这不明显。如果你正在寻找可调整大小的列,BalamBalam似乎有一个很好的答案。嗯,也许这可以工作,我必须隐藏列并启用单元格大小调整,或者只显示列。但是单元格必须使用源集合中的多个项创建,所以我不确定绑定到一个集合时这是否有效ListView和ListBox都是repeater控件。基本的区别是什么?嗯,也许这样可以,我必须隐藏列并调整单元格的大小,或者只显示列。但是单元格必须使用源集合中的多个项创建,所以我不确定绑定到一个集合时这是否有效ListView和ListBox都是repeater控件。根本区别是什么?