FrameworkElement.BringIntoView 메서드

정의

이 요소를 포함된 스크롤 가능한 영역 내에서 뷰에 표시하려고 합니다.Attempts to bring this element into view, within any scrollable regions it is contained within.

오버로드

BringIntoView(Rect)

이 요소의 제공된 영역 크기를 요소가 포함된 스크롤 가능 영역 내에서 뷰에 표시하려고 합니다.Attempts to bring the provided region size of this element into view, within any scrollable regions it is contained within.

BringIntoView()

이 요소를 포함된 스크롤 가능한 영역 내에서 뷰에 표시하려고 합니다.Attempts to bring this element into view, within any scrollable regions it is contained within.

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

뷰에 함께 표시할 요소의 지정된 크기입니다.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. 실패 원인에는 Visible이외의 값 Visibility 같은 요소 설정이 포함 될 수 있습니다.Reasons 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()

이 요소를 포함된 스크롤 가능한 영역 내에서 뷰에 표시하려고 합니다.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)에 조각이 포함 될 때마다 응답 하는 응용 프로그램 탐색 이벤트에 대 한 처리기를 구현 합니다.The following example implements a handler for an application navigation event that responds whenever the uniform resource identifier (URI) being navigated to includes a fragment. 해시 기호 (#) 뒤에 있는 URI에서 조각의 이름이 지정 되 고, 구현 된 동작으로 인해 요소가 프레임 내에서 뷰로 스크롤됩니다.The fragment is named in the URI 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. 실패 원인에는 Visible이외의 값 Visibility 같은 요소 설정이 포함 될 수 있습니다.Reasons 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.

추가 정보

적용 대상