DCSIMG
[BlogMyCode] Scrolling anything - Just code - Tamir Khason
Sunday, December 10, 2006 12:03 PM Tamir Khason

[BlogMyCode] Scrolling anything

[This blog was migrated. You will not be able to comment here.
The new URL of this post is http://khason.net/blog/blogmycode-scrolling-anything/]


It seemed like people do not understand how to scroll any content. The answer is simple : ScrollViewer.

Just put anything inside it and scroll the word. Follow the example of something colorfull inside it.

 
<ScrollViewer CanContentScroll="True">
          <Grid Width="300" Height="800">
            <Grid.Background>
              <LinearGradientBrush>
                <GradientStop Color="#FFF" Offset="0.0"/>
                <GradientStop Color="#000" Offset="1.0"/>
              </LinearGradientBrush>
            </Grid.Background>
          </Grid>
</ScrollViewer>

You not have to move scrollers. You can just scroll the mouse wheel and everything inside this magic control will be scrolled.

There are some controls, that already have scrollers. The best useful example is TextBox. Just put any text inside it, set ScrollViewer.CanContentScroll="True" and here it come. Scrollers.

 

<TextBox TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True" Width="600" Height="200">
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum vestibulum felis tempor enim suscipit hendrerit. Integer a orci id lorem tristique varius. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vestibulum fringilla interdum libero. Curabitur vitae metus. Nunc vel nisi sit amet tortor auctor consectetuer. Cras justo. Morbi accumsan quam in leo. In sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque pharetra nibh ac ante. Quisque quis nunc. Vivamus justo.
 
      Morbi posuere nisl ut pede. In mattis justo eget mauris. Nam velit tortor, consequat in, porta et, accumsan vulputate, elit. Nunc id enim. Duis pretium sem. In augue purus, condimentum ac, bibendum eget, sodales at, orci. Nunc dapibus dictum tellus. Donec tempus bibendum ipsum. Nulla a libero. Nulla quis diam ut erat rhoncus congue.
 
      Sed quam. Proin imperdiet tempus mi. Cras tellus diam, accumsan a, commodo ac, sodales tincidunt, nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Ut tincidunt dui sit amet ipsum. Suspendisse velit. Integer malesuada leo ac elit. Vivamus suscipit diam. Vivamus consequat lacinia erat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc velit tellus, interdum ut, commodo quis, malesuada nec, lectus. Nulla bibendum, est vel mollis dapibus, est ipsum ornare nisi, sed iaculis sapien velit eget ante. Donec ac sem. Duis lobortis metus a diam. Fusce velit eros, nonummy id, cursus et, tristique tincidunt, nisl. Ut porttitor dui sed felis.
 
      Donec blandit mattis neque. Phasellus pretium dapibus lectus. Aenean sapien. Nulla ultricies ipsum quis leo. Proin fringilla. Aliquam erat volutpat. Maecenas sit amet felis. Integer porta scelerisque tortor. Aenean imperdiet viverra purus. Aliquam metus ante, nonummy id, placerat eu, tempor et, nunc. Sed consequat. Pellentesque quis ante sit amet augue rhoncus mollis.
 
      Fusce nisi ligula, ultrices id, vehicula et, gravida in, nibh. Vivamus sagittis quam sed sapien. Phasellus tellus. Nam convallis, est id tincidunt tincidunt, lacus augue blandit risus, pretium tempus turpis erat sed elit. Quisque accumsan mollis nibh. Duis vulputate. Maecenas in nulla a ligula iaculis pellentesque. Vestibulum a arcu et enim sollicitudin auctor. Vivamus ut urna ut nisl posuere iaculis. Cras vitae erat nec tellus egestas tempus. Sed est. Donec venenatis imperdiet risus. Maecenas nulla magna, hendrerit a, rutrum quis, feugiat id, nunc. Aenean consectetuer lobortis sapien. Nullam lectus. Integer quis dolor in felis egestas cursus. Ut vitae justo eget velit feugiat porta. Aenean nonummy, purus ac facilisis dignissim, urna nisi scelerisque lectus, ut ullamcorper sapien orci sed purus. Integer a ligula.
    </TextBox>

But the smartest and really amazing thing that you have not do anything in order to make the ScrollViewer understand, that he have to scroll text inside it. While you select it and drag the mouse down, scrolles will scroll. Not only with buildin TextBox ScrollViewer, but with "hand-made" anlernative. Do this.

 

<ScrollViewer CanContentScroll="True">
  <TextBox TextWrapping="Wrap"  Width="300" Height="800">
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum vestibulum felis tempor enim suscipit hendrerit. Integer a orci id lorem tristique varius. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vestibulum fringilla interdum libero. Curabitur vitae metus. Nunc vel nisi sit amet tortor auctor consectetuer. Cras justo. Morbi accumsan quam in leo. In sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Quisque pharetra nibh ac ante. Quisque quis nunc. Vivamus justo.
 
    Morbi posuere nisl ut pede. In mattis justo eget mauris. Nam velit tortor, consequat in, porta et, accumsan vulputate, elit. Nunc id enim. Duis pretium sem. In augue purus, condimentum ac, bibendum eget, sodales at, orci. Nunc dapibus dictum tellus. Donec tempus bibendum ipsum. Nulla a libero. Nulla quis diam ut erat rhoncus congue.
 
    Sed quam. Proin imperdiet tempus mi. Cras tellus diam, accumsan a, commodo ac, sodales tincidunt, nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Ut tincidunt dui sit amet ipsum. Suspendisse velit. Integer malesuada leo ac elit. Vivamus suscipit diam. Vivamus consequat lacinia erat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc velit tellus, interdum ut, commodo quis, malesuada nec, lectus. Nulla bibendum, est vel mollis dapibus, est ipsum ornare nisi, sed iaculis sapien velit eget ante. Donec ac sem. Duis lobortis metus a diam. Fusce velit eros, nonummy id, cursus et, tristique tincidunt, nisl. Ut porttitor dui sed felis.
 
    Donec blandit mattis neque. Phasellus pretium dapibus lectus. Aenean sapien. Nulla ultricies ipsum quis leo. Proin fringilla. Aliquam erat volutpat. Maecenas sit amet felis. Integer porta scelerisque tortor. Aenean imperdiet viverra purus. Aliquam metus ante, nonummy id, placerat eu, tempor et, nunc. Sed consequat. Pellentesque quis ante sit amet augue rhoncus mollis.
 
    Fusce nisi ligula, ultrices id, vehicula et, gravida in, nibh. Vivamus sagittis quam sed sapien. Phasellus tellus. Nam convallis, est id tincidunt tincidunt, lacus augue blandit risus, pretium tempus turpis erat sed elit. Quisque accumsan mollis nibh. Duis vulputate. Maecenas in nulla a ligula iaculis pellentesque. Vestibulum a arcu et enim sollicitudin auctor. Vivamus ut urna ut nisl posuere iaculis. Cras vitae erat nec tellus egestas tempus. Sed est. Donec venenatis imperdiet risus. Maecenas nulla magna, hendrerit a, rutrum quis, feugiat id, nunc. Aenean consectetuer lobortis sapien. Nullam lectus. Integer quis dolor in felis egestas cursus. Ut vitae justo eget velit feugiat porta. Aenean nonummy, purus ac facilisis dignissim, urna nisi scelerisque lectus, ut ullamcorper sapien orci sed purus. Integer a ligula.
  </TextBox>
</ScrollViewer>

Ici il vient, we scoll the world!

Source Sample

תגים:, ,

Comments

No Comments