导出 (0) 打印
全部展开
此文章由人工翻译。 将光标移到文章的句子上,以查看原文。
译文
原文

Control.Focus 方法

Silverlight

尝试设置控件的焦点。

命名空间:  System.Windows.Controls
程序集:  System.Windows(在 System.Windows.dll 中)

public bool Focus()

返回值

类型:System.Boolean
如果焦点已设置到控件或者焦点已位于控件上,则为 true 如果无法设置控件的焦点,则为 false

如果焦点实际已更改(返回值为 true 且该控件上还没有焦点),则调用 Focus 将对适当的元素引发 GotFocusLostFocus 事件。

为了能够设置焦点,必须满足以下条件:

Visibility 设置为 Visible

  • IsTabStop 设置为 true

  • IsEnabled 设置为 true

  • 控件必须在树中实例化(已激发 Loaded 事件,并且控件连接到作为 Silverlight 插件内容的根对象)。

尽管将立即更新"FocusedElement"值(通过 GetFocusedElement 方法公开),但 GotFocusLostFocus 的更改通知将以异步方式发生。 这种异步焦点设计用于确保在运行时创建的元素不会在针对 Focus 的调用中失败,因为正在运行的 FocusManager 未更新到可视化树的最新视图。

下面的示例在用户单击控件时对该控件设置焦点。


protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
    base.OnMouseLeftButtonDown(e);
    Focus();
}


Silverlight

受以下版本支持:5、4、3

Silverlight for Windows Phone

受以下版本支持:Windows Phone OS 7.1、Windows Phone OS 7.0

有关 Silverlight 支持的操作系统和浏览器的列表,请参见 支持的操作系统和浏览器

社区附加资源

添加
显示:
© 2014 Microsoft