FocusManager.TryMoveFocusAsync メソッド

定義

オーバーロード

TryMoveFocusAsync(FocusNavigationDirection)

フォーカスを持つ現在の要素から、指定した方向の次のフォーカス可能な要素に、非同期的にフォーカスを変更しようとします。

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

フォーカスのある現在の要素から、指定した方向の次のフォーカス可能な要素にフォーカスを変更し、指定したナビゲーション オプションに従って、非同期的にフォーカスを変更しようとします。

TryMoveFocusAsync(FocusNavigationDirection)

フォーカスを持つ現在の要素から、指定した方向の次のフォーカス可能な要素に、非同期的にフォーカスを変更しようとします。

public:
 static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection);
[Windows.Foundation.Metadata.Overload("TryMoveFocusAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
function tryMoveFocusAsync(focusNavigationDirection)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection) As IAsyncOperation(Of FocusMovementResult)

パラメーター

focusNavigationDirection
FocusNavigationDirection

アプリ UI 内の要素から要素にフォーカスが移動する方向。

戻り値

フォーカスが正常に設定されたかどうかを示す FocusMovementResult

属性

ここでは、WebView オブジェクトにフォーカスを設定する方法を示します。失敗した場合は、フォーカスを元の要素に復元します。

async void MoveFocus(WebView webView))
{
    FocusMovementResult result;
    result = await FocusManager.TryFocusAsync(webView, FocusState.Programmatic);
    if (!result.Succeeded)
    {
        // Restore focus to original element.
        this.Focus(FocusState.Programmatic);
    }
}

注釈

  • FocusManager.TryMoveFocus メソッドは、フォーカスの変更が完了する前に true (成功) を返します。
  • GetFocusedElement は、非同期操作が完了するまで、新しくフォーカスされたオブジェクトを返しません。
  • フォーカスを失うコントロールは 、LosingFocus イベントを 同期的に受け取りますが、非同期操作が完了するまで LostFocus を受け取りません。
  • フォーカスを取得するコントロールは GettingFocus イベントを同期的に受け取りますが、非同期操作が完了するまで GotFocus を受け取りません。

TryFocusAsync は、アプリ プロセスで実行されている要素で呼び出されると同期的に完了します。

FindNextElement(FocusNavigationDirection, FindNextElementOptions) メソッドまたは FindNextElement(FocusNavigationDirection) メソッドを使用して、プログラムによってフォーカスを移動することもできます。 これらのメソッドは、指定したナビゲーション方向に基づいてフォーカスを受け取る要素 ( DependencyObject として) を取得します (方向ナビゲーションのみ、タブ ナビゲーションのエミュレートには使用できません)。

注意

の代わりに FindNextFocusableElementFindNextElement メソッドを使用することをお勧めします。これは、 を取得UIElementするためFindNextFocusableElementです。これは、次のフォーカス可能な要素が ( Hyperlink オブジェクトなど) でないUIElement場合に を返nullします。

こちらもご覧ください

適用対象

TryMoveFocusAsync(FocusNavigationDirection, FindNextElementOptions)

フォーカスのある現在の要素から、指定した方向の次のフォーカス可能な要素にフォーカスを変更し、指定したナビゲーション オプションに従って、非同期的にフォーカスを変更しようとします。

public:
 static IAsyncOperation<FocusMovementResult ^> ^ TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions ^ focusNavigationOptions);
/// [Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
 static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection const& focusNavigationDirection, FindNextElementOptions const& focusNavigationOptions);
[Windows.Foundation.Metadata.Overload("TryMoveFocusWithOptionsAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
function tryMoveFocusAsync(focusNavigationDirection, focusNavigationOptions)
Public Shared Function TryMoveFocusAsync (focusNavigationDirection As FocusNavigationDirection, focusNavigationOptions As FindNextElementOptions) As IAsyncOperation(Of FocusMovementResult)

パラメーター

focusNavigationDirection
FocusNavigationDirection

アプリ UI 内の要素から要素にフォーカスが移動する方向。

focusNavigationOptions
FindNextElementOptions

フォーカス候補を識別するために使用されるナビゲーション オプション。

戻り値

フォーカスが正常に設定されたかどうかを示す FocusMovementResult

属性

ここでは、WebView オブジェクトにフォーカスを設定する方法を示します。失敗した場合は、フォーカスを元の要素に復元します。

async void MoveFocus(WebView webView))
{
    FocusMovementResult result;
    result = await FocusManager.TryFocusAsync(webView, FocusState.Programmatic);
    if (!result.Succeeded)
    {
        // Restore focus to original element.
        this.Focus(FocusState.Programmatic);
    }
}

注釈

  • FocusManager.TryMoveFocus メソッドは、フォーカスの変更が完了する前に true (成功) を返します。
  • GetFocusedElement は、非同期操作が完了するまで、新しくフォーカスされたオブジェクトを返しません。
  • フォーカスを失うコントロールは 、LosingFocus イベントを 同期的に受け取りますが、非同期操作が完了するまで LostFocus を受け取りません。
  • フォーカスを取得するコントロールは GettingFocus イベントを同期的に受け取りますが、非同期操作が完了するまで GotFocus を受け取りません。

TryFocusAsync は、アプリ プロセスで実行されている要素で呼び出されると同期的に完了します。

FindNextElement(FocusNavigationDirection, FindNextElementOptions) メソッドまたは FindNextElement(FocusNavigationDirection) メソッドを使用して、プログラムによってフォーカスを移動することもできます。 これらのメソッドは、指定したナビゲーション方向に基づいてフォーカスを受け取る要素 ( DependencyObject として) を取得します (方向ナビゲーションのみ、タブ ナビゲーションのエミュレートには使用できません)。

注意

の代わりに FindNextFocusableElementFindNextElement メソッドを使用することをお勧めします。これは、 を取得UIElementするためFindNextFocusableElementです。これは、次のフォーカス可能な要素が ( Hyperlink オブジェクトなど) でないUIElement場合に を返nullします。

こちらもご覧ください

適用対象