我应该何时在Silverlight中调用Focus方法

我应该何时在Silverlight中调用Focus方法,silverlight,mvvm,Silverlight,Mvvm,我的视图上有几个文本框。其中一个需要集中注意力。数据模型中准确定义了哪一个。目前,我在绑定完成后立即调用Focus方法。我得到的结果为假,这意味着无法设置焦点。问题是 什么时候做这件事合适 我如何知道此时处于视图模型中,而不知道视图的任何内容 正确的答案是通过Dispatcher.BeginInvoke计划设置焦点。这意味着视图模型必须有一个对Dispatcher对象的引用,这有点棘手,但值得付出努力。在第一次布局更新后,您是否尝试过这样做?这是一个很好的点,您知道所有控件都已经完成了初始化。

我的视图上有几个文本框。其中一个需要集中注意力。数据模型中准确定义了哪一个。目前,我在绑定完成后立即调用Focus方法。我得到的结果为假,这意味着无法设置焦点。问题是

  • 什么时候做这件事合适
  • 我如何知道此时处于视图模型中,而不知道视图的任何内容

正确的答案是通过Dispatcher.BeginInvoke计划设置焦点。这意味着视图模型必须有一个对Dispatcher对象的引用,这有点棘手,但值得付出努力。

在第一次布局更新后,您是否尝试过这样做?这是一个很好的点,您知道所有控件都已经完成了初始化。有很多方法可以将事件绑定到视图模型。