向下移动水平堆栈面板中的溢出内容

时间:2010-07-30 02:08:51

标签: silverlight xaml

我在扩展器中有一个列表框:

<ListBox ItemsSource="{Binding MySource">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <RadioButton Content="{Binding MyContent}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>

我用水平方向stackpanel包装单选按钮。我希望溢出单选按钮向下移动,如右图所示(无水平滚动条)。现在,我的就像左边一样。

Stackpanel Orientation="Horizontal" http://www.empirepic.com/images/i8f5sevyzqch10uodso.jpg

1 个答案:

答案 0 :(得分:2)

您需要使用WrapPanel,而不是StackPanel。在WPF中,它内置于主要程序集中,但在Silverlight中,您需要获取Silverlight Toolkit

<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ItemsSource="{Binding MySource">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <RadioButton Content="{Binding MyContent}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <t:WrapPanel />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>