2013-06-03 12 views
6

私は自分でそれを理解することができませんが、私は助けを求めなければなりません。 私は、GUIが主に動的に生成されるWPF-XAMLデスクトップアプリケーションに取り組んでいます。WPF XAML WrapPanelリストボックスのアイテム

私のクエリは、ListBoxアイテムでWrapPanelのスタイリングを考慮しています。上記のコード

<DockPanel x:Name="xResultPanel"> 
    <ListView x:Name="bResultPanel" ItemsSource="{Binding ResultList, UpdateSourceTrigger=PropertyChanged}"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
     <Expander Header="{Binding GroupName}" Style="{DynamicResource FeatureExpander2}"> 
      <WrapPanel ItemWidth="140" Orientation="Horizontal"> 
      <ListBox x:Name="ListOfTiles" ItemsSource="{Binding VideoSamples}"> 
       <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Width="120" Margin="10" HorizontalAlignment="Left"> 
        <Image /> 
        <TextBlock /> 
        </StackPanel 
       </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
      </WrapPanel> 
     </Expander> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
    </ListView> 
</DockPanel> 

は、リストボックスの項目が連続していない提示返しますが、新しい行の各項目:

は(の.xaml)私のUserControlからコードの一部を見つけてください。 WrapPanelとListBoxのMinWidth、Widthなどを設定しようとしましたが、結果はありません。

WrapPanelにコンテンツを水平方向に強制的に埋め込む方法を、関連するすべてのヒントを前もってありがとうございます。

答えて

11

WrapPanelには1人の子供しかいないという問題があります。ListBox。つまり、レイアウトはItemsPanelテンプレートListBoxで行われます。

は、代わりにこれを試してみてください:

<Expander Header="{Binding GroupName}" Style="{DynamicResource FeatureExpander2}"> 
     <ListBox x:Name="ListOfTiles" ItemsSource="{Binding VideoSamples}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
      <StackPanel Width="120" Margin="10" HorizontalAlignment="Left"> 
       <Image /> 
       <TextBlock /> 
      </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
     <ListBox.ItemsPanel> 
      <ItemsPanelTemplate> 
      <WrapPanel /> 
      </ItemsPanelTemplate> 
     </ListBox.ItemsPanel> 
     </ListBox> 
    </Expander> 
+0

本当にありがとうございました、ダニエル! それは私の問題を解決:) – zyjespox

関連する問題