FrameworkElement.BringIntoView メソッド

定義

この要素が含まれているスクロール可能な領域内に、この要素を表示することを試みます。

オーバーロード

BringIntoView(Rect)

この要素が含まれているスクロール可能な領域内で、この要素の指定したサイズの領域が表示されるように試みます。

BringIntoView()

この要素が含まれているスクロール可能な領域内に、この要素を表示することを試みます。

BringIntoView(Rect)

この要素が含まれているスクロール可能な領域内で、この要素の指定したサイズの領域が表示されるように試みます。

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

指定した、表示する必要がある要素のサイズ。

次の例では、制約されたスクロール領域に大きなグラフィックがあります。 ページ上のボタンには、ビューを大きなグラフィックの特定の領域にスクロールするハンドラーがあります。

<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 ます。 このイベントは ScrollViewer 、、または派生または類似のクラスによって処理できるように生成されます。 期待される動作は、イベントが親要素によって処理され、イベントデータで処理されたとマークされ、イベントのソースがコントロールに埋め込まれたロジックを通じて表示されることです ScrollViewer 。 イベントとメソッドのどちらも、 RequestBringIntoView BringIntoView 成功時にはイベントが処理済みとしてマークされている以外に、成功または失敗に関する情報を送信しません。 失敗の理由には、以外の値のように要素の設定を含めることができ Visibility Visible ます。

を指定しない署名を使用すると targetRectangle 、要素サイズ全体 (その RenderSize ) が表示されます。

このメソッドを呼び出すことにより、要素を含む任意の親のスクロール可能な領域でを呼び出す可能性があり MakeVisible ます。 この要素がスクロール可能な領域に含まれていない場合で RequestBringIntoView も、イベントは発生しますが、イベントリスナーが存在しないため、効果はありません。

こちらもご覧ください

適用対象

BringIntoView()

この要素が含まれているスクロール可能な領域内に、この要素を表示することを試みます。

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

次の例では、移動先の URI (uniform resource identifier) にフラグメントが含まれている場合に常に応答するアプリケーションナビゲーションイベントのハンドラーを実装しています。 このフラグメントは、ハッシュ記号 (#) に続く URI で名前が付けられ、実装されている動作によって、要素がフレーム内でスクロールされます。 BringIntoView この RequestBringIntoView 例では、スクロール動作を要求します。

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 ます。 このイベントは ScrollViewer 、、または派生または類似のクラスによって処理できるように生成されます。 期待される動作は、イベントが親要素によって処理され、イベントデータで処理されたとマークされ、イベントのソースがコントロールに埋め込まれたロジックを通じて表示されることです ScrollViewer 。 イベントとメソッドのどちらも、 RequestBringIntoView BringIntoView 成功時にはイベントが処理済みとしてマークされている以外に、成功または失敗に関する情報を送信しません。 失敗の理由には、以外の値のように要素の設定を含めることができ Visibility Visible ます。

を指定しない署名を使用すると targetRectangle 、要素サイズ全体 (その RenderSize ) が表示されます。

このメソッドを呼び出すことにより、要素を含む任意の親のスクロール可能な領域でを呼び出す可能性があり MakeVisible ます。 この要素がスクロール可能な領域に含まれていない場合で RequestBringIntoView も、イベントは発生しますが、イベントリスナーが存在しないため、効果はありません。

こちらもご覧ください

適用対象