代码之家  ›  专栏  ›  技术社区  ›  akjoshi HCP

Wrappanel和scrollviewer问题

  •  1
  • akjoshi HCP  · 技术社区  · 14 年前

    我需要展示 Buttons ,用户可以使用它添加控件。 按组分类。这是我要的XAML-

    <ScrollViewer
        VerticalScrollBarVisibility="Auto">
        <GroupBox
            Name="maingroup"
            Header="Click To Add Controls"
            BorderBrush="Transparent">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition
                        Height="*" />
                    <RowDefinition
                        Height="90" />
                </Grid.RowDefinitions>
    
                <GroupBox
                    Grid.Row="0"
                    Name="groupVarControls"
                    Header="{Binding Path=GroupBoxHeaderText, Mode=OneWay}">
                    <ScrollViewer
                        HorizontalScrollBarVisibility="Auto"
                        VerticalScrollBarVisibility="Hidden">
                        <WrapPanel
                            Margin="7,7,0,0"
                            AllowDrop="False">
                            <syncfusion:RibbonButton
                                SizeForm="Large"
                                Name="BarControl"
                                LargeIcon="Images\Bar.png"
                                Label="Bar"
                                AllowDrop="True">
                            </syncfusion:RibbonButton>
    
                         <!-- 10 More buttons -->
    
                        </WrapPanel>
                    </ScrollViewer>
                </GroupBox>
    
                <GroupBox
                    Grid.Row="1"
                    Name="groupVarControls2"
                    Visibility="{Binding Path=GroupBoxVisibility, Mode=OneWay}"
                    Header="Click to Add control">
                    <ScrollViewer
                        VerticalScrollBarVisibility="Hidden"
                        HorizontalScrollBarVisibility="Auto">
                        <WrapPanel
                            Margin="7,7,0,0"
                            AllowDrop="False">
                            <syncfusion:RibbonButton
                                SizeForm="Large"
                                Name="ClockControl"
                                AllowDrop="False"
                                LargeIcon="Images\Clock.png"
                                Label="Clock"
                                Click="ClockControl_Click" />
    
                          <!-- More buttons -->
    
                        </WrapPanel>
                    </ScrollViewer>
                </GroupBox>
            </Grid>
        </GroupBox>
    </ScrollViewer>
    

    我要垂直的 ScrollBar 两者通用 WrapPanel 个人水平 滚动条 的。使用此XAML时,滚动条出现错误, ScrollViewer row (或 column ),并使用 滚动条 马上。

    我不能给你一个固定的答案 widht ,因为此控件将显示在 DockPanel (类似于VS工具箱),用户可以使用它。

    有什么想法吗?

    1 回复  |  直到 12 年前
        1
  •  2
  •   Wallstreet Programmer    14 年前

    <ScrollViewer 
        VerticalScrollBarVisibility="Auto">
        <StackPanel>
            <GroupBox Header="Box 1">
                <ScrollViewer 
                    VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto">
                    <WrapPanel 
                        MinWidth="200"
                        Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=ActualWidth}">
                        <Button Width="200" Height="50" />
                        <Button Width="150" Height="50" />
                        <Button Width="160" Height="50" />
                        <Button Width="170" Height="50" />
                        <Button Width="180" Height="50" />
                    </WrapPanel>
                </ScrollViewer>
            </GroupBox>
            <GroupBox Header="Box 2">
                <ScrollViewer 
                    VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Auto">
                    <WrapPanel 
                        MinWidth="200"
                        Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollViewer}}, Path=ActualWidth}">
                        <Button Width="200" Height="50" />
                        <Button Width="150" Height="50" />
                        <Button Width="160" Height="50" />
                        <Button Width="170" Height="50" />
                        <Button Width="180" Height="50" />
                    </WrapPanel>
                </ScrollViewer>
            </GroupBox>
        </StackPanel>
    </ScrollViewer>
    
    推荐文章