可调整大小的WPF列表框/项目控制项目

可调整大小的WPF列表框/项目控制项目,wpf,listbox,itemscontrol,listboxitem,gridsplitter,Wpf,Listbox,Itemscontrol,Listboxitem,Gridsplitter,我希望在WPF列表框(或ItemsControl)中具有类似GridSplitter的功能。以下代码不起作用,但演示了我想要实现的目标: <ListBox ItemsSource="{Binding MyCollection}"> <ListBox.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal"/>

我希望在WPF列表框(或ItemsControl)中具有类似GridSplitter的功能。以下代码不起作用,但演示了我想要实现的目标:

  <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控件。根本区别是什么?