FrameworkElement.BringIntoView Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Tenta di visualizzare questo elemento, all'interno di qualsiasi area scorrevole contenuta all'interno.
Overload
| Nome | Descrizione |
|---|---|
| BringIntoView(Rect) |
Tenta di portare in visualizzazione le dimensioni dell'area specificate di questo elemento, all'interno di qualsiasi area scorrevole contenuta all'interno. |
| BringIntoView() |
Tenta di visualizzare questo elemento, all'interno di qualsiasi area scorrevole contenuta all'interno. |
BringIntoView(Rect)
Tenta di portare in visualizzazione le dimensioni dell'area specificate di questo elemento, all'interno di qualsiasi area scorrevole contenuta all'interno.
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)
Parametri
- targetRectangle
- Rect
Dimensione specificata dell'elemento che deve essere visualizzato anche.
Esempio
Nell'esempio seguente è presente un elemento grafico di grandi dimensioni in un'area di scorrimento vincolata. Un pulsante nella pagina dispone di un gestore che scorre la visualizzazione fino a una determinata area dell'elemento grafico di grandi dimensioni.
<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
Commenti
Chiamando questo metodo, si genera un RequestBringIntoView evento che ha origine dall'elemento corrente. Questo evento viene generato in modo che possa essere gestito da un ScrollVieweroggetto o da una classe derivata o simile. Il comportamento previsto è che l'evento viene gestito dall'elemento padre, contrassegnato come gestito nei dati dell'evento e che l'origine dell'evento viene visualizzata tramite la logica incorporata nel ScrollViewer controllo . Né l'evento RequestBringIntoView né il BringIntoView metodo trasmettono informazioni sull'esito positivo o negativo, ad eccezione del fatto che l'evento viene in genere contrassegnato come gestito in caso di esito positivo. I motivi dell'errore possono includere le impostazioni dell'elemento, ad esempio Visibility un valore diverso da Visible.
Se si usa la firma che non specifica un targetRectangleoggetto , l'intera dimensione dell'elemento (corrispondente RenderSize) verrà resa visibile.
Chiamando questo metodo, è possibile chiamare MakeVisible su qualsiasi area padre scorrevole che contiene l'elemento . Se questo elemento non è contenuto in un'area scorrevole, l'evento RequestBringIntoView viene comunque generato, ma non vi sarà alcun effetto perché non sono presenti listener di eventi.
Vedi anche
Si applica a
BringIntoView()
Tenta di visualizzare questo elemento, all'interno di qualsiasi area scorrevole contenuta all'interno.
public:
void BringIntoView();
public void BringIntoView();
member this.BringIntoView : unit -> unit
Public Sub BringIntoView ()
Esempio
Nell'esempio seguente viene implementato un gestore per un evento di navigazione dell'applicazione che risponde ogni volta che si passa all'URI (Uniform Resource Identifier) per includere un frammento. Il frammento viene denominato nell'URI che segue il segno hash (#) e il comportamento implementato fa sì che l'elemento scorrono nella visualizzazione all'interno del frame. BringIntoView e RequestBringIntoView richiedere il comportamento di scorrimento nell'esempio.
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
Commenti
Chiamando questo metodo, si genera un RequestBringIntoView evento che ha origine dall'elemento corrente. Questo evento viene generato in modo che possa essere gestito da un ScrollVieweroggetto o da una classe derivata o simile. Il comportamento previsto è che l'evento viene gestito dall'elemento padre, contrassegnato come gestito nei dati dell'evento e che l'origine dell'evento viene visualizzata tramite la logica incorporata nel ScrollViewer controllo . Né l'evento RequestBringIntoView né il BringIntoView metodo trasmettono informazioni sull'esito positivo o negativo, ad eccezione del fatto che l'evento viene in genere contrassegnato come gestito in caso di esito positivo. I motivi dell'errore possono includere le impostazioni dell'elemento, ad esempio Visibility un valore diverso da Visible.
Se si usa la firma che non specifica un targetRectangleoggetto , l'intera dimensione dell'elemento (corrispondente RenderSize) verrà resa visibile.
Chiamando questo metodo, è possibile chiamare MakeVisible su qualsiasi area padre scorrevole che contiene l'elemento . Se questo elemento non è contenuto in un'area scorrevole, l'evento RequestBringIntoView viene comunque generato, ma non vi sarà alcun effetto perché non sono presenti listener di eventi.