WPF XAML WrapPanel ListBox项目连续

时间:2013-06-03 11:58:38

标签: wpf xaml listbox styling wrappanel

我被迫寻求帮助,而我自己却无法理解。 我正在研究WPF-XAML桌面应用程序,其中GUI主要是动态生成的。

我的查询将WrapPanel的样式与ListBox项目相关联。

请从我的usercontrol(.xaml)中找到一段代码:

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

上面的代码返回的ListBox项目不是连续显示,而是新项目中的每个项目。 我试图为WrapPanel和ListBox设置MinWidth,Width等,但没有结果。

提前感谢所有相关提示如何强制WrapPanel水平填充内容。

1 个答案:

答案 0 :(得分:12)

问题是您的WrapPanel只有一个孩子:ListBox。这意味着布局由ItemsPanel的{​​{1}}模板完成。

请改为尝试:

ListBox