簡體   English   中英

ScrollViewer 在 groupbox 內不起作用?

[英]ScrollViewer is not working inside groupbox?

我想在我的Groupbox包含ScrollViewer ,但它不起作用。 我的代碼是:

<GroupBox 
           Margin="10,10,0,0"
            Grid.Row="0"
            Grid.ColumnSpan="3"
            Height="150"           
            >
                    <ScrollViewer>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="140"/>
                    <ColumnDefinition Width="120"/>
                    <ColumnDefinition Width="100"/>
                </Grid.ColumnDefinitions>
               
                <Label 
                    Margin="0,6,0,0"
                    Content="SSID"
                    Grid.Row="0"
                    >      
                </Label>
                
                <TextBox
                      Margin="0,6,0,6"
                    Grid.Column="1">
                    
                </TextBox>

                <Label 
                     Margin="0,6,0,0"
                    Content="(1024)"
                    Grid.Column="2"
                    >
                </Label>
                <Label 
                     Margin="0,6,0,0"
                    Content="Authentication Mode"
                    Grid.Column="0"
                    
                    Grid.Row="1"
                    >
                </Label>
                <ComboBox 
                        Margin="0,6,0,6" 
                Grid.Row="1"
                Grid.Column="1"
                ItemsSource="{Binding ACAvailableSecurityTypes}"
                SelectedItem="{Binding ACSelectedSecurityType}"
                />
                <Label
                    
                      Margin="0,6,0,0"
                    Grid.Row="2"
                       Grid.Column="0"
                       Content="VLAN"
                      />
                
                <TextBox
                      Margin="0,6,0,6"
                    Grid.Row="2"
                    Grid.Column="1"
                    />
            
                <Label Grid.Row="2"
                       Grid.Column="2"
                    Content="(1-4094)"/>
                
                <Button
                    Grid.Row="3"
                    Grid.Column="2"
                    Content="Add SSID"
                    HorizontalAlignment="Left"
                    Width="70"
                    Style="{StaticResource AppButtons}"/>
            </Grid>
                    </ScrollViewer>
                </GroupBox>

為了看到你的滾動條,你的滾動查看器的高度應該小於你的分組框,這樣做,你可以看到滾動條,設置高度VerticalScrollBarVisibility

 <ScrollViewer Height="100" VerticalScrollBarVisibility="Auto">
            <GroupBox 
           Margin="10,10,0,0"
            Grid.Row="0"
            Grid.ColumnSpan="3"
            Height="150"           
            >
           ......

        </GroupBox>
 </ScrollViewer>

ScrollViewer放在GroupBox外面,而不是里面:

<ScrollViewer>
    <GroupBox Margin="10,10,0,0"
              Grid.Row="0"
              Grid.ColumnSpan="3"
              Height="150" >

        ...
        ...

    </GroupBox>
</ScrollViewer>

GroupBox放入ScrollViewer會導致GroupBox標題在滾動時消失。

我解決了這個問題,保持ScollViewer內部GroupBox通過設置Height的的ScrollViewer來匹配GroupBox Height

<GroupBox Header="Testing 123">
    <ScrollViewer Height="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=GroupBox}, Path=ActualHeight}">
        <Image .../>
    </ScrollViewer>
</GroupBox>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM