Aracılığıyla paylaş


Nasıl yapılır: ScrollChanged Olayını İşleme

Örnek

Bu örnekte, bir ScrollChangedScrollViewer olayının nasıl işleneceğini gösterilmektedir.

FlowDocument bölümleri olan bir Paragraph öğesi XAML'de tanımlanır. kullanıcı etkileşimi nedeniyle ScrollChanged olayı gerçekleştiğinde bir işleyici çağrılır ve olayın oluştuğunu belirten bir TextBlock metin yazılır.

<ScrollViewer Name="svrContent" CanContentScroll="False" ScrollChanged="sChanged">

  <FlowDocument FontFamily="Arial" PageWidth="400">
    <Paragraph>
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
    </Paragraph>
    <Paragraph>
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut
      laoreet dolore magna aliquam erat volutpat.  Ut wisi enim ad minim veniam, quis nostrud exerci tation
      ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure.
    </Paragraph>

  </FlowDocument>
</ScrollViewer>
private void sChanged(object sender, ScrollChangedEventArgs e)
{
    if (svrContent.CanContentScroll == true)
    {
        tBlock1.Foreground = System.Windows.Media.Brushes.Red;
        tBlock1.Text = "ScrollChangedEvent just Occurred";
        tBlock2.Text = "ExtentHeight is now " + e.ExtentHeight.ToString();
        tBlock3.Text = "ExtentWidth is now " + e.ExtentWidth.ToString();
        tBlock4.Text = "ExtentHeightChange was " + e.ExtentHeightChange.ToString();
        tBlock5.Text = "ExtentWidthChange was " + e.ExtentWidthChange.ToString();
        tBlock6.Text = "HorizontalOffset is now " + e.HorizontalOffset.ToString();
        tBlock7.Text = "VerticalOffset is now " + e.VerticalOffset.ToString();
        tBlock8.Text = "HorizontalChange was " + e.HorizontalChange.ToString();
        tBlock9.Text = "VerticalChange was " + e.VerticalChange.ToString();
        tBlock10.Text = "ViewportHeight is now " + e.ViewportHeight.ToString();
        tBlock11.Text = "ViewportWidth is now " + e.ViewportWidth.ToString();
        tBlock12.Text = "ViewportHeightChange was " + e.ViewportHeightChange.ToString();
        tBlock13.Text = "ViewportWidthChange was " + e.ViewportWidthChange.ToString();
    }
    else
    {
        tBlock1.Text = "";
    }
Private Sub sChanged(ByVal sender As Object, ByVal args As ScrollChangedEventArgs)


    If (sv1.CanContentScroll = True) Then
        tBlock1.Foreground = System.Windows.Media.Brushes.Red
        tBlock1.Text = "ScrollChangedEvent just Occurred"
        tBlock3.Text = "ExtentWidth is now " + args.ExtentWidth.ToString()
        tBlock4.Text = "ExtentHeightChange was " + args.ExtentHeightChange.ToString()
        tBlock5.Text = "ExtentWidthChange was " + args.ExtentWidthChange.ToString()
        tBlock6.Text = "HorizontalOffset is now " + args.HorizontalOffset.ToString()
        tBlock7.Text = "VerticalOffset is now " + args.VerticalOffset.ToString()
        tBlock8.Text = "HorizontalChange was " + args.HorizontalChange.ToString()
        tBlock9.Text = "VerticalChange was " + args.VerticalChange.ToString()
        tBlock10.Text = "ViewportHeight is now " + args.ViewportHeight.ToString()
        tBlock11.Text = "ViewportWidth is now " + args.ViewportWidth.ToString()
        tBlock12.Text = "ViewportHeightChange was " + args.ViewportHeightChange.ToString()
        tBlock13.Text = "ViewportWidthChange was " + args.ViewportWidthChange.ToString()

    Else
        tBlock1.Text = ""

    End If

Ayrıca bakınız