FrameworkElement.BringIntoView Yöntem

Tanım

Bu öğeyi, içinde bulunduğu kaydırılabilir bölgelerde görünüme getirmeye çalışır.

Aşırı Yüklemeler

BringIntoView(Rect)

Bu öğenin sağlanan bölge boyutunu, içinde bulunduğu kaydırılabilir bölgelerde görüntülemeye çalışır.

BringIntoView()

Bu öğeyi, içinde bulunduğu kaydırılabilir bölgelerde görünüme getirmeye çalışır.

BringIntoView(Rect)

Bu öğenin sağlanan bölge boyutunu, içinde bulunduğu kaydırılabilir bölgelerde görüntülemeye çalışır.

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)

Parametreler

targetRectangle
Rect

Ayrıca görünüme getirilmesi gereken öğenin belirtilen boyutu.

Örnekler

Aşağıdaki örnekte, kısıtlı bir kaydırma bölgesinde büyük bir grafik vardır. Sayfadaki düğmenin, görünümü büyük grafiğin belirli bir bölgesine kaydıran bir işleyicisi vardır.

<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

Açıklamalar

Bu yöntemi çağırarak geçerli öğeden kaynaklanan bir RequestBringIntoView olay oluşturursunuz. Bu olay, bir veya türetilmiş veya benzer bir ScrollViewersınıf tarafından işlenebilmesi için oluşturulur. Beklenen davranış, olayın üst öğe tarafından işlenmesi, olay verilerinde işlenmiş olarak işaretlenmesi ve olayın kaynağının denetime eklenmiş ScrollViewer mantık aracılığıyla görünüme getirilmesidir. RequestBringIntoView Olay veya BringIntoView yöntem, başarı veya başarısızlıkla ilgili herhangi bir bilgi iletmez; bunun dışında olay genellikle başarı üzerinde işlenir olarak işaretlenir. Hatanın nedenleri öğesi ayarlarını içerebilir, örneğin Visibility dışında Visiblebir değer olabilir.

belirtilmeyen targetRectangleimzayı kullanırsanız, tüm öğe boyutu (onun RenderSize) görünür hale getirilecektir.

Bu yöntemi çağırarak, büyük olasılıkla öğesini içeren herhangi bir üst kaydırılabilir alanda çağrısı MakeVisible yapacaksınız. Bu öğe kaydırılabilir bir alanda yer almadıysa, RequestBringIntoView olay yine tetiklenir, ancak olay dinleyicileri olmadığından hiçbir etkisi olmaz.

Ayrıca bkz.

Şunlara uygulanır

BringIntoView()

Bu öğeyi, içinde bulunduğu kaydırılabilir bölgelerde görünüme getirmeye çalışır.

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

Örnekler

Aşağıdaki örnek, tekdüzen kaynak tanımlayıcısı (URI) bir parça içerdiğinde yanıt veren bir uygulama gezinti olayı için bir işleyici uygular. Parça, karma işaretinden (#) sonra URI'de adlandırılır ve uygulanan davranış öğenin çerçeve içinde görünüme kaymasına neden olur. BringIntoView ve RequestBringIntoView örnekte kaydırma davranışını isteyin.

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

Açıklamalar

Bu yöntemi çağırarak geçerli öğeden kaynaklanan bir RequestBringIntoView olay oluşturursunuz. Bu olay, bir veya türetilmiş veya benzer bir ScrollViewersınıf tarafından işlenebilmesi için oluşturulur. Beklenen davranış, olayın üst öğe tarafından işlenmesi, olay verilerinde işlenmiş olarak işaretlenmesi ve olayın kaynağının denetime eklenmiş ScrollViewer mantık aracılığıyla görünüme getirilmesidir. RequestBringIntoView Olay veya BringIntoView yöntem, başarı veya başarısızlıkla ilgili herhangi bir bilgi iletmez; bunun dışında olay genellikle başarı üzerinde işlenir olarak işaretlenir. Hatanın nedenleri öğesi ayarlarını içerebilir, örneğin Visibility dışında Visiblebir değer olabilir.

belirtilmeyen targetRectangleimzayı kullanırsanız, tüm öğe boyutu (onun RenderSize) görünür hale getirilecektir.

Bu yöntemi çağırarak, büyük olasılıkla öğesini içeren herhangi bir üst kaydırılabilir alanda çağrısı MakeVisible yapacaksınız. Bu öğe kaydırılabilir bir alanda yer almadıysa, RequestBringIntoView olay yine tetiklenir, ancak olay dinleyicileri olmadığından hiçbir etkisi olmaz.

Ayrıca bkz.

Şunlara uygulanır