FrameworkElement.BringIntoView Methode

Definitie

Pogingen om dit element in beeld te brengen, binnen alle schuifbare regio's waarin het zich bevindt.

Overloads

Name Description
BringIntoView(Rect)

Pogingen om de opgegeven regiogrootte van dit element in beeld te brengen, binnen alle schuifbare regio's waarin het zich bevindt.

BringIntoView()

Pogingen om dit element in beeld te brengen, binnen alle schuifbare regio's waarin het zich bevindt.

BringIntoView(Rect)

Pogingen om de opgegeven regiogrootte van dit element in beeld te brengen, binnen alle schuifbare regio's waarin het zich bevindt.

public:
 void BringIntoView(System::Windows::Rect targetRectangle);
public void BringIntoView(System.Windows.Rect targetRectangle);
member this.BringIntoView : System.Windows.Rect -> unit
Public Sub BringIntoView (targetRectangle As Rect)

Parameters

targetRectangle
Rect

De opgegeven grootte van het element dat ook in beeld moet worden gebracht.

Voorbeelden

In het volgende voorbeeld ziet u een grote afbeelding in een beperkt schuifgebied. Een knop op de pagina heeft een handler waarmee de weergave naar een bepaald gebied van de grote afbeelding wordt geschoven.

<ScrollViewer Width="300" Height="300" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible">
  <Image Name="mapframe" ScrollViewer.CanContentScroll="True"  >
    <Image.Source>
      <BitmapImage UriSource="treasuremap.bmp"/>
    </Image.Source>
  </Image>
</ScrollViewer>
<StackPanel>
  <Button Click="GoToLake">Go to Lake</Button>

</StackPanel>
void GoToLake(object sender, RoutedEventArgs e)
{
    mapframe.BringIntoView(new Rect(800, 400, 200, 200));
}
Private Sub GoToLake(ByVal sender As Object, ByVal e As RoutedEventArgs)
    mapframe.BringIntoView(New Rect(800, 400, 200, 200))
End Sub

Opmerkingen

Door deze methode aan te roepen, genereert u een RequestBringIntoView gebeurtenis die afkomstig is van het huidige element. Deze gebeurtenis wordt gegenereerd, zodat deze kan worden verwerkt door een ScrollViewer, of een afgeleide of vergelijkbare klasse. Het verwachte gedrag is dat de gebeurtenis wordt verwerkt door het bovenliggende element, gemarkeerd in de gebeurtenisgegevens en dat de bron van de gebeurtenis wordt weergegeven via de logica die is ingesloten in het ScrollViewer besturingselement. RequestBringIntoView De gebeurtenis of de BringIntoView methode verzendt geen informatie over geslaagde of mislukte gebeurtenissen, behalve dat de gebeurtenis doorgaans wordt gemarkeerd als geslaagd. Redenen voor fouten kunnen de elementinstellingen zijn, zoals Visibility een andere waarde dan Visible.

Als u de handtekening gebruikt waarmee geen opgegeven targetRectangleis, wordt de gehele elementgrootte (de bijbehorende RenderSize) zichtbaar gemaakt.

Door deze methode aan te roepen, wordt mogelijk een bovenliggend schuifbaar gebied aangeroepen MakeVisible dat het element bevat. Als dit element zich niet in een schuifbaar gebied bevindt, wordt de RequestBringIntoView gebeurtenis nog steeds gegenereerd, maar is er geen effect omdat er geen gebeurtenislisteners zijn.

Zie ook

Van toepassing op

BringIntoView()

Pogingen om dit element in beeld te brengen, binnen alle schuifbare regio's waarin het zich bevindt.

public:
 void BringIntoView();
public void BringIntoView();
member this.BringIntoView : unit -> unit
Public Sub BringIntoView ()

Voorbeelden

In het volgende voorbeeld wordt een handler geïmplementeerd voor een toepassingsnavigatiegebeurtenis die reageert wanneer de URI (Uniform Resource Identifier) naar een fragment wordt genavigeerd. Het fragment heet in de URI na het hash-teken (#) en het geïmplementeerde gedrag zorgt ervoor dat het element in beeld schuift binnen het frame. BringIntoView en RequestBringIntoView vraag het scrollgedrag in het voorbeeld aan.

void browserFrame_FragmentNavigation(object sender, FragmentNavigationEventArgs e)
{
    object content = ((ContentControl)e.Navigator).Content;
    FrameworkElement fragmentElement = LogicalTreeHelper.FindLogicalNode((DependencyObject)content, e.Fragment) as FrameworkElement;
    if (fragmentElement == null)
    {
        // Redirect to error page
        // Note - You can't navigate from within a FragmentNavigation event handler,
        //        hence creation of an async dispatcher work item
        this.Dispatcher.BeginInvoke(
            DispatcherPriority.Send,
            (DispatcherOperationCallback) delegate(object unused) 
            {
                this.browserFrame.Navigate(new Uri("FragmentNotFoundPage.xaml", UriKind.Relative));
                return null;
            },
            null);
        e.Handled = true;
    }
}
Private Sub browserFrame_FragmentNavigation(ByVal sender As Object, ByVal e As FragmentNavigationEventArgs)
    Dim element As FrameworkElement = TryCast(LogicalTreeHelper.FindLogicalNode(DirectCast(DirectCast(e.Navigator, ContentControl).Content, DependencyObject), e.Fragment), FrameworkElement)
    If (element Is Nothing) Then
        ' Redirect to error page
        ' Note - You can't navigate from within a FragmentNavigation event handler,
        '        hence creation of an async dispatcher work item
        Dim callback As New DispatcherOperationCallback(AddressOf Me.FragmentNotFoundNavigationRedirect)
        Me.Dispatcher.BeginInvoke(DispatcherPriority.Normal, callback, Nothing)
    End If
    e.Handled = True
End Sub

Function FragmentNotFoundNavigationRedirect(ByVal unused As Object) As Object
    Me.browserFrame.Navigate(New Uri("FragmentNotFoundPage.xaml", UriKind.Relative))
    Return Nothing
End Function

Opmerkingen

Door deze methode aan te roepen, genereert u een RequestBringIntoView gebeurtenis die afkomstig is van het huidige element. Deze gebeurtenis wordt gegenereerd, zodat deze kan worden verwerkt door een ScrollViewer, of een afgeleide of vergelijkbare klasse. Het verwachte gedrag is dat de gebeurtenis wordt verwerkt door het bovenliggende element, gemarkeerd in de gebeurtenisgegevens en dat de bron van de gebeurtenis wordt weergegeven via de logica die is ingesloten in het ScrollViewer besturingselement. RequestBringIntoView De gebeurtenis of de BringIntoView methode verzendt geen informatie over geslaagde of mislukte gebeurtenissen, behalve dat de gebeurtenis doorgaans wordt gemarkeerd als geslaagd. Redenen voor fouten kunnen de elementinstellingen zijn, zoals Visibility een andere waarde dan Visible.

Als u de handtekening gebruikt waarmee geen opgegeven targetRectangleis, wordt de gehele elementgrootte (de bijbehorende RenderSize) zichtbaar gemaakt.

Door deze methode aan te roepen, wordt mogelijk een bovenliggend schuifbaar gebied aangeroepen MakeVisible dat het element bevat. Als dit element zich niet in een schuifbaar gebied bevindt, wordt de RequestBringIntoView gebeurtenis nog steeds gegenereerd, maar is er geen effect omdat er geen gebeurtenislisteners zijn.

Zie ook

Van toepassing op