Partager via


FrameworkElement.BringIntoView Méthode

Définition

Essaie de mettre cet élément en vue, dans toutes régions déroulantes dans lesquelles il est contenu.

Surcharges

BringIntoView(Rect)

Tente de mettre en vue les dimensions de la région indiquée de cet élément, incluse dans toute région déroulante que ce soit qui le contient.

BringIntoView()

Essaie de mettre cet élément en vue, dans toutes régions déroulantes dans lesquelles il est contenu.

BringIntoView(Rect)

Tente de mettre en vue les dimensions de la région indiquée de cet élément, incluse dans toute région déroulante que ce soit qui le contient.

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)

Paramètres

targetRectangle
Rect

Taille spécifiée de l'élément qui doit également être mis en vue.

Exemples

L’exemple suivant présente un grand graphique dans une région de défilement contrainte. Un bouton de la page comporte un gestionnaire qui fait défiler l’affichage vers une région particulière du grand graphique.

<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

Remarques

En appelant cette méthode, vous déclenchez un RequestBringIntoView événement qui provient de l’élément actuel. Cet événement est déclenché afin qu’il puisse être géré par une ScrollViewerclasse dérivée ou similaire. Le comportement attendu est que l’événement est géré par l’élément parent, marqué comme géré dans les données d’événement et que la source de l’événement est mise en mode via la logique incorporée dans le ScrollViewer contrôle. Ni l’événement RequestBringIntoView ni la BringIntoView méthode ne transmettent d’informations sur la réussite ou l’échec, si ce n’est que l’événement est généralement marqué sur la réussite. Les raisons de l’échec peuvent inclure les paramètres d’élément, par Visibility exemple une valeur autre que Visible.

Si vous utilisez la signature qui ne spécifie pas de targetRectangle, la taille entière de l’élément (son RenderSize) est rendue visible.

En appelant cette méthode, vous appelez MakeVisible potentiellement n’importe quelle zone de défilement parente qui contient l’élément. Si cet élément n’est pas contenu dans une zone défilante, l’événement RequestBringIntoView est toujours déclenché, mais il n’y aura aucun effet, car il n’y a pas d’écouteurs d’événements.

Voir aussi

S’applique à

BringIntoView()

Essaie de mettre cet élément en vue, dans toutes régions déroulantes dans lesquelles il est contenu.

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

Exemples

L’exemple suivant implémente un gestionnaire pour un événement de navigation d’application qui répond chaque fois que l’URI (Uniform Resource Identifier) vers lequel vous accédez inclut un fragment. Le fragment est nommé dans l’URI suivant le signe de hachage (#), et le comportement implémenté fait défiler l’élément dans l’affichage dans le cadre. BringIntoView et RequestBringIntoView demandez ce comportement de défilement dans l’exemple.

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

Remarques

En appelant cette méthode, vous déclenchez un RequestBringIntoView événement qui provient de l’élément actuel. Cet événement est déclenché afin qu’il puisse être géré par une ScrollViewerclasse dérivée ou similaire. Le comportement attendu est que l’événement est géré par l’élément parent, marqué comme géré dans les données d’événement et que la source de l’événement est mise en mode via la logique incorporée dans le ScrollViewer contrôle. Ni l’événement RequestBringIntoView ni la BringIntoView méthode ne transmettent d’informations sur la réussite ou l’échec, si ce n’est que l’événement est généralement marqué sur la réussite. Les raisons de l’échec peuvent inclure les paramètres d’élément, par Visibility exemple une valeur autre que Visible.

Si vous utilisez la signature qui ne spécifie pas de targetRectangle, la taille entière de l’élément (son RenderSize) est rendue visible.

En appelant cette méthode, vous appelez MakeVisible potentiellement n’importe quelle zone de défilement parente qui contient l’élément. Si cet élément n’est pas contenu dans une zone défilante, l’événement RequestBringIntoView est toujours déclenché, mais il n’y aura aucun effet, car il n’y a pas d’écouteurs d’événements.

Voir aussi

S’applique à