2012-02-22 16 views
0

私は、WPF ListBox(またはItemsControl)にGridSplitterのような機能を持たせたいと考えています。次のコードは機能しませんが、達成したいことを示しています:Resizeable WPF ListBox/ItemsControl items

<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> 

誰でもこれを実装する方法についてのアイデアはありますか?

+0

"動作しない"部分はありますか? –

+1

GridSplitterは、グリッド内の行/列のサイズを変更します。コードには、各リストボックス項目に対して1行と1列のグリッドが1つあります。スプリッタは何もしません。 – Phil

+0

@jberger:gridsplitter – eriksmith200

答えて

1

なぜListView GridViewを使用しないのですか? GridViewは列のサイズ変更をサポートしています。

+0

多分それがうまくいくかもしれません、私は列を非表示にして、セルのサイズを変更できるようにしなければならない、あるいは列を表示するだけかもしれません。しかし、ソースコレクション内の複数の項目を使用してセルを作成する必要があるので、1つのコレクションにバインドするときにこれが機能するかどうかは分かりません。 – eriksmith200

+0

ListViewとListBoxはどちらもリピータコントロールです。基本的な違いは何ですか? – Paparazzi