如何关注自定义对话框中的元素?
我尝试在打开之前和之后使用edGroupName.Focus(FocusState.Keyboard / Programmatic) 。它不起作用。
//NewGroup is <callisto:CustomDialog>
NewGroup.IsOpen = true;
//edGroupName is <TextBox>
edGroupName.Focus(FocusState.Keyboard);
如何关注自定义对话框中的元素?
我尝试在打开之前和之后使用edGroupName.Focus(FocusState.Keyboard / Programmatic) 。它不起作用。
//NewGroup is <callisto:CustomDialog>
NewGroup.IsOpen = true;
//edGroupName is <TextBox>
edGroupName.Focus(FocusState.Keyboard);
当您设置.IsOpen
对话框不会立即打开 - 直到您离开您的方法并且控制返回到事件循环时才会打开。因此,当您调用.Focus()
文本框时,它实际上还不可见。您必须延迟.Focus()
通话,直到文本框出现在屏幕上。
这对我有用:
NewGroup.IsOpen = true;
await Task.Factory.StartNew( () => Dispatcher.RunAsync( CoreDispatcherPriority.Low,
() => edGroupName.Focus( FocusState.Keyboard ) ) );