次の方法で共有


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として) を取得します (方向ナビゲーションのみ、タブ ナビゲーションのエミュレートには使用できません)。

手記

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

こちらもご覧ください

適用対象

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として) を取得します (方向ナビゲーションのみ、タブ ナビゲーションのエミュレートには使用できません)。

手記

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

こちらもご覧ください

適用対象