0

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

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

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

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

1 回答 1

0

当您设置.IsOpen对话框不会立即打开 - 直到您离开您的方法并且控制返回到事件循环时才会打开。因此,当您调用.Focus()文本框时,它实际上还不可见。您必须延迟.Focus()通话,直到文本框出现在屏幕上。

这对我有用:

NewGroup.IsOpen = true;

await Task.Factory.StartNew( () => Dispatcher.RunAsync( CoreDispatcherPriority.Low,
                () => edGroupName.Focus( FocusState.Keyboard ) ) );
于 2015-11-12T19:56:53.533 回答