在wrappanel中添加动态按钮wpf

时间:2012-08-01 15:34:54

标签: c# wpf button dynamic wrappanel

我正在尝试在屏幕上动态显示按钮,以便在没有任何滚动条的情况下很好地放置它们。我有如下标记,但滚动条出于某种原因出现。我们如何使滚动条不显示,按钮布局没有任何滚动条。

<ListBox x:Name="ItemsListBox"  >
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <ToggleButton Content="{Binding Name}" Click="Click" MinWidth="120" MinHeight="70" FontWeight="Bold" FontSize="18"/>
                </DataTemplate>
            </ListBox.ItemTemplate>
            <ListBox.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel></WrapPanel>
                </ItemsPanelTemplate>
            </ListBox.ItemsPanel>
        </ListBox>

3 个答案:

答案 0 :(得分:2)

你的ListBox里面有什么控制权?大多数情况下,您描述的问题是由控件引起的,允许ListBox增长。

您可以通过在Width="200"上设置明确ListBox并测试会发生什么来证明这是否是问题。如果它包装,则问题是ListBox的父级。

答案 1 :(得分:0)

添加

ScrollViewer.VerticalScrollBarVisibility="Hidden"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"

给你容器。

答案 2 :(得分:0)

这就是我想要实现的目标。

<ItemsControl x:Name="ListBox" Grid.Row="5"  Grid.ColumnSpan="2">
                <ItemsControl.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel Orientation="Vertical"/>
                    </ItemsPanelTemplate>
                </ItemsControl.ItemsPanel>
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <ToggleButton Content="{Binding Name}" MinWidth="120" MinHeight="50" FontWeight="Bold" FontSize="16" Margin="5"/>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>