标签: scrollviewer

ScrollViewer的性能问题

使用ScrollViewer装饰项目集合控件时,性能似乎会降低.在我正在处理的特定应用程序中,当我使用ScrollViewer装饰VirtualizingStackPanel时,应用程序似乎受到了很大的打击.我试图在这个特定的容器中加载250个项目,希望用户可以滚动浏览所有250个项目.有人可以了解一下ScrollViewer的内部结构,以及为什么它的包含可以减慢应用程序的初始负载?

<ScrollViewer 
 HorizontalScrollBarVisibility="Auto" 
 VerticalScrollBarVisibility="Auto"
 Visibility= "Visible">

 <ListView ItemsSource="{Binding EmployeeAccounts}">
  <ListView.ItemsPanel >
      <ItemsPanelTemplate>
          <VirtualizingStackPanel />
      </ItemsPanelTemplate>
    </ListView.ItemsPanel>
</ListView>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

谢谢

.net wpf clr xaml scrollviewer

2
推荐指数
1
解决办法
4594
查看次数

ScrollViewer在WP7上向后滚动

我创建了一个页面,其中有很多来自用户的输入.因此用户应该能够向下滚动以便能够按上传按钮.要在页面上向下滚动,我在网格外部使用了ScrollViewer.我能够滚动但页面在向下滚动后继续向后滚动.

这是我的代码:

  <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanelButtom" Grid.Row="1" >
            <ScrollViewer >
                <Grid x:Name="ContentPanel" Background="black">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="154" />
                        <ColumnDefinition Width="326" />
                    </Grid.ColumnDefinitions>
                    <Image Height="109" HorizontalAlignment="Left" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="167" Margin="23,19,0,0" Source="{Binding Path=ImageSoruce, Mode=TwoWay}" Grid.ColumnSpan="2" />
                    <TextBox Height="71" HorizontalAlignment="Left" Margin="12,161,0,0" Name="nameInput" Text="{Binding Path=Name, Mode=TwoWay}" VerticalAlignment="Top" Width="430" Grid.ColumnSpan="2" />
                    <TextBlock Height="56" HorizontalAlignment="Left" Margin="23,134,0,0" Name="nameLabel" Text="Name" VerticalAlignment="Top" Width="130" FontSize="25" />
                    <TextBlock FontSize="25" Height="60" HorizontalAlignment="Left" Margin="23,238,0,0" Name="descriptionLabel" Text="Description" VerticalAlignment="Top" Width="130" />
                    <TextBox Height="72" HorizontalAlignment="Left" Margin="12,265,0,0" Name="descriptionInput" Text="{Binding Path=Description, Mode=TwoWay}" VerticalAlignment="Top" Width="430" …
Run Code Online (Sandbox Code Playgroud)

grid scrollviewer windows-phone-7

2
推荐指数
1
解决办法
993
查看次数

同步2个scrollviewers silverlight

我想同步2个滚动查看器.请让我知道如何获得两个scrollviewer的滚动事件,然后同步它们?

silverlight scrollviewer

2
推荐指数
1
解决办法
686
查看次数

Windows 8 Metro ListView - 无法禁用ScrollViewer(C#/ XAML)

我有一个ScrollViewer,它包含一个包含2个ListView的Horizo​​ntal StackPanel.

我的目标是让2个ListViews一起滚动.我遇到的问题是我无法将ListView中的内置ScrollViewers禁用...无论我做什么,它们都会继续独立滚动.我真的一定要错过一些东西......任何帮助都会受到赞赏.

这是我的XAML:

<ScrollViewer VerticalScrollBarVisibility="Visible" 
          HorizontalScrollBarVisibility="Disabled" 
          ZoomMode="Disabled" 
          HorizontalAlignment="Left" 
          VerticalAlignment="Top" 
          Width="830" 
          Height="500">

  <StackPanel x:Name="teesSP" 
              HorizontalAlignment="Left" 
              Height="500" 
              Width="830" 
              Orientation="Horizontal" 
              VerticalAlignment="Top">

      <ListView x:Name="timesLV1" 
                HorizontalAlignment="Left" 
                Width="130" 
                Height="500" 
                ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                ScrollViewer.HorizontalScrollMode="Disabled"
                ScrollViewer.IsHorizontalRailEnabled="False"
                ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                ScrollViewer.IsScrollInertiaEnabled="False"
                ScrollViewer.IsVerticalRailEnabled="False"
                ScrollViewer.IsVerticalScrollChainingEnabled="False"
                ScrollViewer.IsZoomChainingEnabled="False"
                ScrollViewer.IsZoomInertiaEnabled="False"
                ScrollViewer.VerticalScrollBarVisibility="Disabled"
                ScrollViewer.VerticalScrollMode="Disabled"
                BorderThickness="2" 
                BorderBrush="Black" 
                VerticalAlignment="Top" 
                ItemTemplate="{StaticResource TimeTileTemplate}"
                SelectionMode="Single" 
                SelectionChanged="timesLV_Click" />

      <ListView x:Name="timesLV2" 
                HorizontalAlignment="Left" 
                Width="700" 
                Height="500" 
                ScrollViewer.HorizontalScrollBarVisibility="Disabled"
                ScrollViewer.HorizontalScrollMode="Disabled"
                ScrollViewer.IsHorizontalRailEnabled="False"
                ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                ScrollViewer.IsScrollInertiaEnabled="False"
                ScrollViewer.IsVerticalRailEnabled="False"
                ScrollViewer.IsVerticalScrollChainingEnabled="False"
                ScrollViewer.IsZoomChainingEnabled="False"
                ScrollViewer.IsZoomInertiaEnabled="False"
                ScrollViewer.VerticalScrollBarVisibility="Disabled"
                ScrollViewer.VerticalScrollMode="Disabled"
                BorderThickness="2" 
                BorderBrush="Black" 
                VerticalAlignment="Top" 
                ItemTemplate="{StaticResource TimeTileTemplate}"
                SelectionMode="Single" 
                SelectionChanged="timesLV_Click" />

  </StackPanel>

</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

c# xaml listview scrollviewer windows-8

2
推荐指数
1
解决办法
3492
查看次数

在Windows 8 metro应用程序中禁用放大和缩小scrollviewer

我使用RichTextBlock显示一些文本,RichTextBlock在滚动查看器中,代码如下所示:

<ScrollViewer Grid.Column="0">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <StackPanel Orientation="Vertical" Margin="12,0">
                    <TextBlock x:Name="TitleRun" FontSize="26" FontWeight="SemiBold" />
                </StackPanel>
                <RichTextBlock x:Name="MRichTextBlock" Grid.Row="1" Padding="12" FontSize="18">
                </RichTextBlock>
            </Grid>
        </ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

当我的应用程序在平板电脑上运行时,只要我用两根手指在滚动查看器区域进行捏合,RichTextBlock就会放大或缩小,这是不可取的.

所以我想知道在这种情况下如何禁用缩放行为.

提前致谢.

scrollviewer zooming windows-8

2
推荐指数
1
解决办法
2255
查看次数

使用ScrollViewer单击并拖动滚动

我想允许使用a单击并拖动滚动ScrollViewer(即单击任意位置ScrollViewer并向上或向下拖动,它将相应地滚动)

我有一个StackPanel嵌套在里面ScrollViewer,我已经有滚动工作.我相信我在某个地方看到了答案,但我似乎无法再找到它了.

这必须仅使用代码完成.

c# wpf scrollviewer

2
推荐指数
1
解决办法
5065
查看次数

ScrollViewer中的网格不会水平滚动

我想我在这里错过了一些简单的东西......我如何在Grid内部ScrollViewer进行水平滚动?我启用了HorizontalScrollMode,内容肯定足够长,以至于它在屏幕上运行,但它不会滚动.这是有问题的代码(这ScrollViewer是LayoutRoot行的唯一内容Grid):

<ScrollViewer Grid.Row="1" VerticalScrollMode="Disabled"
              VerticalScrollBarVisibility="Hidden"
              HorizontalScrollMode="Enabled">
    <Grid Margin="120,0,0,100">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="240"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <TextBlock Text="Download" HorizontalAlignment="Center" Margin="0,0,0,10"/>
        <local:BandwidthMeter Grid.Row="1" x:Name="PolicyDown" Grid.Column="0"/>
        <TextBlock Grid.Column="2" Text="Upload" HorizontalAlignment="Center"/>
        <local:BandwidthMeter Grid.Row="1" x:Name="PolicyUp" Grid.Column="2"/>
        <TextBlock Grid.Column="4" Text="Download" HorizontalAlignment="Center"/>
        <local:BandwidthMeter x:Name="ActualDown" Grid.Row="1" Grid.Column="4"/>
        <TextBlock Grid.Column="6" Text="Upload" HorizontalAlignment="Center"/>
        <local:BandwidthMeter x:Name="ActualUp" Grid.Row="1" Grid.Column="6" />
        <TextBlock Grid.Column="7" Text="Campus-wide bandwidth usage" …
Run Code Online (Sandbox Code Playgroud)

c# scrollviewer windows-store-apps

2
推荐指数
1
解决办法
1198
查看次数

如何通过编码behide将文本块放在scrollviewer中?(WPF)

我有这样的xaml代码

<Grid>
    <... some grid row and column definitions .../>

    <ScrollViewer Grid.Column="1" VerticalScrollBarVisibility="Auto">
        <TextBlock "some attribute" />
    </ScrollViewer>

</Grid>
Run Code Online (Sandbox Code Playgroud)

我不知道如何配合TextblockScrollviewerC#.我想TextblockScrollviewer.如果您有其他想法,请告诉我.

非常感谢您的帮助.:d

c# wpf textblock scrollviewer

2
推荐指数
1
解决办法
4549
查看次数

ScrollViewer - 子元素的指示滚动到视图中

是否有一个事件在孩子滚动进入视图时被提出并指示孩子被实现了什么?

当然有ScrollChanged事件,但它没有向我提供任何关于滚动到视图中的元素的指示.

提前致谢.

编辑:

我曾尝试连接到ScrollViewer的RequestBringIntoView事件,但它永远不会到达.或者我也在包含这些项目的StackPanel上尝试了相同的操作:

XAML :

     <ScrollViewer RequestBringIntoView="ScrollViewer_RequestBringIntoView" >
        <StackPanel RequestBringIntoView="StackPanel_RequestBringIntoView">
            <Button Content="1" Height="20"/>
            <Button Content="2" Height="20"/>
            <Button Content="3" Height="20"/>
            <Button Content="4" Height="20"/>
            <Button Content="5" Height="20"/>
            <Button Content="6" Height="20"/>
            <Button Content="7" Height="20"/>
            <Button Content="8" Height="20"/>
            <Button Content="9" Height="20"/>
            <Button Content="10" Height="20"/>
            <Button Content="11" Height="20"/>
            <Button Content="12" Height="20"/>
            <Button Content="13" Height="20"/>
            <Button Content="14" Height="20"/>
            <Button Content="15" Height="20"/>
            <Button Content="16" Height="20"/>
            <Button Content="17" Height="20"/>
            <Button Content="18" Height="20"/>
            <Button Content="19" Height="20"/>
            <Button Content="20" Height="20"/>
            <Button Content="21" Height="20"/>
            <Button Content="22" Height="20"/>
            <Button Content="23" …
Run Code Online (Sandbox Code Playgroud)

wpf scrollviewer

2
推荐指数
1
解决办法
5752
查看次数

WPF Scrollviewer ItemsControl将项目滚动到视图中

我有一个WPF Scrollviewer,其内容为Items Control,显示图像列表.然后,我有另一个带有项目控件的滚动查看器,用于保存所选图像.我需要做的是当一些人点击所选图像时,所有图像中的项目应滚动进入查看.

我搜索过,但找不到任何如何实现这一目标的例子.

有人有任何例子或建议吗?

vb.net wpf itemscontrol scrollviewer

2
推荐指数
1
解决办法
4538
查看次数