win 8 ScrollView简单练习

本文详细解析了滚动视图的各项属性及其使用方法,包括水平和垂直滚动条的可见性、滚动区域尺寸、可视区域尺寸及滚动偏移量等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


<Grid Background="Blue">
        <TextBlock Name="tbl" FontSize="30"></TextBlock>
        <StackPanel Margin="600 0 0 0">
            <ScrollViewer Name="scrollViewer" Width="200" Height="200" Margin="0 10 0 0" HorizontalAlignment="Left"
                          IsDeferredScrollingEnabled="False" ViewChanged="scrollViewer_ViewChanged_1" HorizontalScrollMode="Enabled" VerticalScrollMode="Enabled"
                          HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"
                          >
                <ScrollViewer.Content>
                    <Image Source="Assets/Logo.png" Width="800"></Image>
                </ScrollViewer.Content>                
            </ScrollViewer>
            <StackPanel Orientation="Horizontal">
                <Button Content="居中" Click="Button_Click_1"></Button>
            </StackPanel>
        </StackPanel>
        
    </Grid>

 private void scrollViewer_ViewChanged_1(object sender, ScrollViewerViewChangedEventArgs e)
        {
            this.tbl.Text = "";
            this.tbl.Text += "ComputedHorizontalScrollBarVisibility :" + scrollViewer.ComputedHorizontalScrollBarVisibility;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ComputedVerticalScrollBarVisibility:" +
                scrollViewer.ComputedVerticalScrollBarVisibility;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ExtentWidth:" + scrollViewer.ExtentWidth;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ExtentHeight:" + scrollViewer.ExtentHeight;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ViewportWidth:" + scrollViewer.ViewportWidth;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ViewportHeight:" + scrollViewer.ViewportHeight;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "HorizontalOffset:" + scrollViewer.HorizontalOffset;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "VerticalOffset:" + scrollViewer.VerticalOffset;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ScrollalbeWidth:" + scrollViewer.ScrollableWidth;
            this.tbl.Text += "\r\n";
            this.tbl.Text += "ScrollableHeight:" + scrollViewer.ScrollableHeight;
            this.tbl.Text += "\r\n";
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            scrollViewer.ScrollToHorizontalOffset(scrollViewer.ScrollableWidth / 2);
            scrollViewer.ScrollToVerticalOffset(scrollViewer.ScrollableHeight / 2);
        }




ComputedHorizontalScrollBarVisibility:是获得水平方向滚动条的状态,Visibility和Collapsed两种情况,当我们设置水平方向的滚动条为

Visibility时,这个值是Visibility,当我们设置Hidden或者Disable,这个值是Collapsed;垂直方向相似。
ExtentWidth和ExtentHeight是滚动区域的宽和高,这个宽和高是我们包含内容的宽和高。
ViewportWidth和ViewportHeight可视区域的宽和高,这个一般和scrollViewer的宽和高一致。
HorizontalOffset和VerticalOffset,表示滚动区域水平和竖直方向的便宜量,这两个的最大值和下面两个一样。
ScrollalbeWidth和ScrollableHeight,表示可滚动区域的宽和高。
ScrollToHorizontalOffset()设置水平滚动区域的位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值