InputFocusController.TrySetFocus 方法

定义

尝试将焦点设置为与 InputFocusController 关联的 ContentIsland

public:
 virtual bool TrySetFocus() = TrySetFocus;
bool TrySetFocus();
public bool TrySetFocus();
function trySetFocus()
Public Function TrySetFocus () As Boolean

返回

Boolean

bool

如果成功设置焦点,则为 True;否则为 false。

示例

以下示例演示如何根据指针输入指示焦点位于 ContentIsland 中的 TextBox 上。

void OnClick(PointerPoint clickLocation) 
{
    if (IsWithinBoundsOfTextBox(clickLocation))
    {
        InputFocusController focusController = InputFocusController.GetForIsland(myIsland);

        if (!focusController.HasFocus())
        {
            bool nowHasFocus = focusController.TrySetFocus();

            // Change styling of text box based on whether the Island received focus
            if (nowHasFocus)
            {
                DrawTextBoxBorder();
            }
            else
            {
                RemoveTextBoxBorder();
            }
        }
    }
}

注解

由于其他消息处理要求,当处理此请求时,焦点可能会从 ContentIsland 移出。

在处理此请求之前,用户也可能移动焦点。

处理此请求可以快速连续引发 GotFocusLostFocus 事件。

适用于