FrameworkElement.BringIntoView FrameworkElement.BringIntoView FrameworkElement.BringIntoView FrameworkElement.BringIntoView Method

定義

在內含此項目的任何可捲動區域內,嘗試將此項目帶入檢視。Attempts to bring this element into view, within any scrollable regions it is contained within.

多載

BringIntoView(Rect) BringIntoView(Rect) BringIntoView(Rect) BringIntoView(Rect)

在內含此項目的任何可捲動區域內,嘗試將此項目所提供的區域大小帶入檢視。Attempts to bring the provided region size of this element into view, within any scrollable regions it is contained within.

BringIntoView() BringIntoView() BringIntoView() BringIntoView()

在內含此項目的任何可捲動區域內,嘗試將此項目帶入檢視。Attempts to bring this element into view, within any scrollable regions it is contained within.

BringIntoView(Rect) BringIntoView(Rect) BringIntoView(Rect) BringIntoView(Rect)

在內含此項目的任何可捲動區域內,嘗試將此項目所提供的區域大小帶入檢視。Attempts to bring the provided region size of this element into view, within any scrollable regions it is contained within.

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)

參數

targetRectangle
Rect Rect Rect Rect

指定同樣應帶入檢視的項目大小。Specified size of the element that should also be brought into view.

範例

下列範例會在受條件約束的捲動區域中有大型的圖形。The following example has a large graphic in a constrained scrolling region. 頁面上的按鈕有捲動檢視來大量圖形的特定區域的處理常式。A button on the page has a handler that scrolls the view to a particular region of the large graphic.

<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

備註

藉由呼叫這個方法,您將提高RequestBringIntoView源自目前的項目中的事件。By calling this method, you raise a RequestBringIntoView event that originates from the current element. 會引發這個事件,以便它可以藉由處理ScrollViewer,或衍生或類似的類別。This event is raised so that it can be handled by a ScrollViewer, or a derived or similar class. 預期的行為是,事件由父項目,標示為已處理事件資料,在處理事件的來源帶入檢視的邏輯內嵌在透過ScrollViewer控制項。The expected behavior is that the event is handled by the parent element, marked handled in the event data, and the source of the event is brought into view through the logic embedded in the ScrollViewer control. 既不RequestBringIntoView事件或BringIntoView方法傳輸相關的成功或失敗,以外,這個事件通常是標示為在處理的成功的任何資訊。Neither the RequestBringIntoView event nor the BringIntoView method transmit any information about success or failure, other than that the event is typically marked handled on success. 失敗可能包含項目設定,如的原因Visibility以外的某些值VisibleReasons for failure can include the element settings, such as Visibility being some value other than Visible.

如果您使用未指定的簽章targetRectangle,然後整個項目大小 (其RenderSize) 會成為可見。If you use the signature that does not specify a targetRectangle, then the entire element size (its RenderSize) will be made visible.

藉由呼叫這個方法,您可能會呼叫MakeVisible上包含的項目中任何父系可捲動區域。By calling this method, you potentially will call MakeVisible on any parent scrollable area that contains the element. 如果這個項目不包含在可捲動區域RequestBringIntoView仍然會引發事件,但是不會有任何作用因為沒有任何事件接聽程式。If this element is not contained in a scrollable area, the RequestBringIntoView event is still raised, but there will be no effect because there are no event listeners.

另請參閱

BringIntoView() BringIntoView() BringIntoView() BringIntoView()

在內含此項目的任何可捲動區域內,嘗試將此項目帶入檢視。Attempts to bring this element into view, within any scrollable regions it is contained within.

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

範例

下列範例會實作應用程式瀏覽事件,每當回應的處理常式統一資源識別項 (URI)uniform resource identifier (URI)正在瀏覽至包含片段。The following example implements a handler for an application navigation event that responds whenever the 統一資源識別項 (URI)uniform resource identifier (URI) being navigated to includes a fragment. 在名為片段URIURI遵循雜湊符號 (#),並實作的行為會導致要捲動進入檢視框架內的項目。The fragment is named in the URIURI following the hash sign (#), and the implemented behavior causes the element to scroll into view within the frame. BringIntoViewRequestBringIntoView要求在範例中,捲動行為。BringIntoView and RequestBringIntoView request that scrolling behavior in the example.

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

備註

藉由呼叫這個方法,您將提高RequestBringIntoView源自目前的項目中的事件。By calling this method, you raise a RequestBringIntoView event that originates from the current element. 會引發這個事件,以便它可以藉由處理ScrollViewer,或衍生或類似的類別。This event is raised so that it can be handled by a ScrollViewer, or a derived or similar class. 預期的行為是,事件由父項目,標示為已處理事件資料,在處理事件的來源帶入檢視的邏輯內嵌在透過ScrollViewer控制項。The expected behavior is that the event is handled by the parent element, marked handled in the event data, and the source of the event is brought into view through the logic embedded in the ScrollViewer control. 既不RequestBringIntoView事件或BringIntoView方法傳輸相關的成功或失敗,以外,這個事件通常是標示為在處理的成功的任何資訊。Neither the RequestBringIntoView event nor the BringIntoView method transmit any information about success or failure, other than that the event is typically marked handled on success. 失敗可能包含項目設定,如的原因Visibility以外的某些值VisibleReasons for failure can include the element settings, such as Visibility being some value other than Visible.

如果您使用未指定的簽章targetRectangle,然後整個項目大小 (其RenderSize) 會成為可見。If you use the signature that does not specify a targetRectangle, then the entire element size (its RenderSize) will be made visible.

藉由呼叫這個方法,您可能會呼叫MakeVisible上包含的項目中任何父系可捲動區域。By calling this method, you potentially will call MakeVisible on any parent scrollable area that contains the element. 如果這個項目不包含在可捲動區域RequestBringIntoView仍然會引發事件,但是不會有任何作用因為沒有任何事件接聽程式。If this element is not contained in a scrollable area, the RequestBringIntoView event is still raised, but there will be no effect because there are no event listeners.

另請參閱

適用於