Share via


FrameworkElement.BringIntoView Metode

Definisi

Upaya untuk menampilkan elemen ini, dalam wilayah yang dapat digulir di dalamnya.

Overload

BringIntoView(Rect)

Upaya untuk menampilkan ukuran wilayah yang disediakan dari elemen ini, dalam wilayah yang dapat digulir di dalamnya.

BringIntoView()

Upaya untuk menampilkan elemen ini, dalam wilayah yang dapat digulir di dalamnya.

BringIntoView(Rect)

Upaya untuk menampilkan ukuran wilayah yang disediakan dari elemen ini, dalam wilayah yang dapat digulir di dalamnya.

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)

Parameter

targetRectangle
Rect

Ukuran elemen yang ditentukan yang juga harus dilihat.

Contoh

Contoh berikut memiliki grafik besar di wilayah pengguliran yang dibatasi. Tombol di halaman memiliki handler yang menggulir tampilan ke wilayah tertentu dari grafik besar.

<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

Keterangan

Dengan memanggil metode ini, Anda menaikkan RequestBringIntoView peristiwa yang berasal dari elemen saat ini. Kejadian ini dinaikkan sehingga dapat ditangani oleh ScrollViewer, atau kelas turunan atau sejenisnya. Perilaku yang diharapkan adalah bahwa peristiwa ditangani oleh elemen induk, ditandai ditangani dalam data peristiwa, dan sumber peristiwa dibawa ke tampilan melalui logika yang disematkan dalam ScrollViewer kontrol. RequestBringIntoView Baik peristiwa maupun BringIntoView metode tidak mengirimkan informasi apa pun tentang keberhasilan atau kegagalan, selain itu peristiwa biasanya ditandai ditangani pada keberhasilan. Alasan kegagalan dapat mencakup pengaturan elemen, seperti Visibility menjadi beberapa nilai selain Visible.

Jika Anda menggunakan tanda tangan yang tidak menentukan targetRectangle, maka seluruh ukuran elemen (-nya RenderSize) akan dibuat terlihat.

Dengan memanggil metode ini, Anda berpotensi akan memanggil MakeVisible pada area yang dapat digulir induk yang berisi elemen . Jika elemen ini tidak terkandung dalam area yang dapat digulir, RequestBringIntoView peristiwa masih dinaikkan, tetapi tidak akan ada efek karena tidak ada pendengar peristiwa.

Lihat juga

Berlaku untuk

BringIntoView()

Upaya untuk menampilkan elemen ini, dalam wilayah yang dapat digulir di dalamnya.

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

Contoh

Contoh berikut mengimplementasikan handler untuk peristiwa navigasi aplikasi yang merespons setiap kali pengidentifikasi sumber daya seragam (URI) dinavigasi untuk menyertakan fragmen. Fragmen dinamai dalam URI dengan mengikuti tanda hash (#), dan perilaku yang diterapkan menyebabkan elemen menggulir ke tampilan dalam bingkai. BringIntoView dan RequestBringIntoView meminta perilaku menggulir dalam contoh.

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

Keterangan

Dengan memanggil metode ini, Anda menaikkan RequestBringIntoView peristiwa yang berasal dari elemen saat ini. Kejadian ini dinaikkan sehingga dapat ditangani oleh ScrollViewer, atau kelas turunan atau sejenisnya. Perilaku yang diharapkan adalah bahwa peristiwa ditangani oleh elemen induk, ditandai ditangani dalam data peristiwa, dan sumber peristiwa dibawa ke tampilan melalui logika yang disematkan dalam ScrollViewer kontrol. RequestBringIntoView Baik peristiwa maupun BringIntoView metode tidak mengirimkan informasi apa pun tentang keberhasilan atau kegagalan, selain itu peristiwa biasanya ditandai ditangani pada keberhasilan. Alasan kegagalan dapat mencakup pengaturan elemen, seperti Visibility menjadi beberapa nilai selain Visible.

Jika Anda menggunakan tanda tangan yang tidak menentukan targetRectangle, maka seluruh ukuran elemen (-nya RenderSize) akan dibuat terlihat.

Dengan memanggil metode ini, Anda berpotensi akan memanggil MakeVisible pada area yang dapat digulir induk yang berisi elemen . Jika elemen ini tidak terkandung dalam area yang dapat digulir, RequestBringIntoView peristiwa masih dinaikkan, tetapi tidak akan ada efek karena tidak ada pendengar peristiwa.

Lihat juga

Berlaku untuk