Mega Code Archive

 
Categories / C# / WPF
 

Use the methods that are defined by the IScrollInfo interface to scroll the child content of a StackPanel

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     x:Class="ScrollViewer_Methods.Window1"     Title="ScrollViewer IScrollInfo Sample"     Loaded="onLoad"> <DockPanel> <TextBlock DockPanel.Dock="Top" FontSize="20" FontWeight="Bold" Margin="10">IScrollInfo Interface Methods</TextBlock> <StackPanel DockPanel.Dock="Left" Width="150">     <Button Click="spLineUp">Adjust Line Up</Button>     <Button Click="spLineDown">Adjust Line Down</Button>     <Button Click="spLineRight">Adjust Line Right</Button>     <Button Click="spLineLeft">Adjust Line Left</Button>     <Button Click="spPageUp">Adjust Page Up</Button>     <Button Click="spPageDown">Adjust Page Down</Button>     <Button Click="spPageRight">Adjust Page Right</Button>     <Button Click="spPageLeft">Adjust Page Left</Button> </StackPanel>   <Border BorderBrush="Black" Background="White" BorderThickness="2" Width="500" Height="500">     <ScrollViewer Name="sv1" CanContentScroll="True" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Visible">         <StackPanel Name="sp1">             <Rectangle Width="700" Height="500" Fill="Green"/>             <TextBlock>Rectangle 3</TextBlock>         </StackPanel>      </ScrollViewer> </Border> </DockPanel> </Window> //File:Window.xaml.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Controls.Primitives; using System.Windows.Documents; using System.Windows.Navigation; using System.Text; namespace ScrollViewer_Methods {     public partial class Window1 : Window     {         private void onLoad(object sender, System.EventArgs e)         {             ((IScrollInfo)sp1).CanVerticallyScroll = true;             ((IScrollInfo)sp1).CanHorizontallyScroll = true;             ((IScrollInfo)sp1).ScrollOwner = sv1;         }         private void spLineUp(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).LineUp();         }         private void spLineDown(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).LineDown();         }         private void spLineRight(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).LineRight();         }         private void spLineLeft(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).LineLeft();         }         private void spPageUp(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).PageUp();         }         private void spPageDown(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).PageDown();         }         private void spPageRight(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).PageRight();         }         private void spPageLeft(object sender, RoutedEventArgs e)         {             ((IScrollInfo)sp1).PageLeft();         }     } }