Callisto自定义对话框焦点

时间:2015-10-16 06:26:42

标签: callisto

如何关注自定义对话框中的元素?

我尝试在打开之前和之后使用 edGroupName.Focus(FocusState.Keyboard / Programmatic)。它不起作用。

//NewGroup is <callisto:CustomDialog>
NewGroup.IsOpen = true;

//edGroupName is <TextBox>
edGroupName.Focus(FocusState.Keyboard);

1 个答案:

答案 0 :(得分:0)

当您设置.IsOpen时,对话框不会立即打开 - 直到您离开方法并且控件返回事件循环为止。因此,当您致电.Focus()时,文本框实际上尚未显示。您必须延迟.Focus()来电,直到文本框出现在屏幕上。

这对我有用:

NewGroup.IsOpen = true;

await Task.Factory.StartNew( () => Dispatcher.RunAsync( CoreDispatcherPriority.Low,
                () => edGroupName.Focus( FocusState.Keyboard ) ) );