FrameworkElement.BringIntoView メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この要素が含まれているスクロール可能な領域内に、この要素を表示することを試みます。
オーバーロード
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 ということです。 イベントもメソッドも、成功または失敗にBringIntoView関する情報を送信しませんRequestBringIntoView。イベントは通常、成功時に処理済みとマークされます。 失敗の理由には、 以外Visibleの値などVisibility、要素の設定が含まれる場合があります。
を指定 targetRectangle
しないシグネチャを使用すると、要素サイズ全体 (その RenderSize) が表示されます。
このメソッドを呼び出すことで、 要素を含む任意の親スクロール可能領域で を呼び出 MakeVisible す可能性があります。 この要素がスクロール可能な領域に含まれていない場合、 RequestBringIntoView イベントは引き続き発生しますが、イベント リスナーがないため、効果はありません。
こちらもご覧ください
適用対象
BringIntoView()
この要素が含まれているスクロール可能な領域内に、この要素を表示することを試みます。
public:
void BringIntoView();
public void BringIntoView ();
member this.BringIntoView : unit -> unit
Public Sub BringIntoView ()
例
次の例では、移動先の UNIFORM リソース識別子 (URI) にフラグメントが含まれるたびに応答するアプリケーション ナビゲーション イベントのハンドラーを実装します。 フラグメントはハッシュ記号 (#)に続く 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 ということです。 イベントもメソッドも、成功または失敗にBringIntoView関する情報を送信しませんRequestBringIntoView。イベントは通常、成功時に処理済みとマークされます。 失敗の理由には、 以外Visibleの値などVisibility、要素の設定が含まれる場合があります。
を指定 targetRectangle
しないシグネチャを使用すると、要素サイズ全体 (その RenderSize) が表示されます。
このメソッドを呼び出すことで、 要素を含む任意の親スクロール可能領域で を呼び出 MakeVisible す可能性があります。 この要素がスクロール可能な領域に含まれていない場合、 RequestBringIntoView イベントは引き続き発生しますが、イベント リスナーがないため、効果はありません。
こちらもご覧ください
適用対象
.NET