共用方式為


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,指出是否已成功設定焦點。

屬性

Windows 需求

裝置系列
Windows 10, version 1803 (已於 10.0.17134.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v6.0 引進)

範例

在這裡,我們會示範如何將焦點設定在 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); 
    } 
}

備註

在應用程式進程中執行的專案上呼叫時,TryFocusAsync會以同步方式完成。

您也可以使用 FindNextElement (FocusNavigationDirection、FindNextElementOptions) 方法或 FindNextElement (FocusNavigationDirection) 方法來以程式設計方式移動焦點。 這些方法會擷取元素 (為 DependencyObject) ,該元素只會根據指定的導覽方向 (方向流覽接收焦點,無法用來模擬索引標籤導覽) 。

注意

我們建議使用 FindNextElement 方法,而不是 FindNextFocusableElement,因為 FindNextFocusableElement 會擷取 UIElement,如果下一個可設定焦點的專案不是 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,指出是否已成功設定焦點。

屬性

Windows 需求

裝置系列
Windows 10, version 1803 (已於 10.0.17134.0 引進)
API contract
Windows.Foundation.UniversalApiContract (已於 v6.0 引進)

範例

在這裡,我們會示範如何將焦點設定在 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); 
    } 
}

備註

在應用程式進程中執行的專案上呼叫時,TryFocusAsync會以同步方式完成。

您也可以使用 FindNextElement (FocusNavigationDirection、FindNextElementOptions) 方法或 FindNextElement (FocusNavigationDirection) 方法來以程式設計方式移動焦點。 這些方法會擷取元素 (為 DependencyObject) ,該元素只會根據指定的導覽方向 (方向流覽接收焦點,無法用來模擬索引標籤導覽) 。

注意

我們建議使用 FindNextElement 方法,而不是 FindNextFocusableElement,因為 FindNextFocusableElement 會擷取 UIElement,如果下一個可設定焦點的專案不是 UIElement (,則會傳回 null,例如 Hyperlink 物件) 。

另請參閱

適用於