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. Причины сбоя могут включать в себя параметры элемента, такие как Visibility имеют значение, отличное от Visible.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) включает фрагмент.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. BringIntoView и RequestBringIntoView запрашивают поведение прокрутки в примере.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 имеют значение, отличное от Visible.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.

Дополнительно

Применяется к