FrameworkElement.BringIntoView Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Tente d’afficher cet élément dans toutes les régions défilantes qu’il contient.
Surcharges
| Nom | Description |
|---|---|
| BringIntoView(Rect) |
Tente d’afficher la taille de région fournie de cet élément, dans toutes les régions défilantes qu’il contient. |
| BringIntoView() |
Tente d’afficher cet élément dans toutes les régions défilantes qu’il contient. |
BringIntoView(Rect)
Tente d’afficher la taille de région fournie de cet élément, dans toutes les régions défilantes qu’il 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 vue par le biais de la logique incorporée dans le ScrollViewer contrôle. Ni l’événement ni la méthode ne transmettent d’informations sur la RequestBringIntoViewBringIntoView réussite ou l’échec, à part cela, l’événement est généralement marqué comme géré en cas de réussite. Les raisons de l’échec peuvent inclure les paramètres d’élément, comme Visibility être une valeur autre que Visible.
Si vous utilisez la signature qui ne spécifie pas d’élément targetRectangle, la taille entière de l’élément (son RenderSize) est rendue visible.
En appelant cette méthode, vous appelez MakeVisible potentiellement toute zone de défilement parente qui contient l’élément. Si cet élément n’est pas contenu dans une zone de défilement, 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()
Tente d’afficher cet élément dans toutes les régions défilantes qu’il contient.
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) en cours d’accès inclut un fragment. Le fragment est nommé dans l’URI suivant le signe de hachage (#), et le comportement implémenté entraîne le défilement de l’élément dans l’affichage dans le cadre. BringIntoView et RequestBringIntoView demander que le 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 vue par le biais de la logique incorporée dans le ScrollViewer contrôle. Ni l’événement ni la méthode ne transmettent d’informations sur la RequestBringIntoViewBringIntoView réussite ou l’échec, à part cela, l’événement est généralement marqué comme géré en cas de réussite. Les raisons de l’échec peuvent inclure les paramètres d’élément, comme Visibility être une valeur autre que Visible.
Si vous utilisez la signature qui ne spécifie pas d’élément targetRectangle, la taille entière de l’élément (son RenderSize) est rendue visible.
En appelant cette méthode, vous appelez MakeVisible potentiellement toute zone de défilement parente qui contient l’élément. Si cet élément n’est pas contenu dans une zone de défilement, 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.