2015-10-16 62 views
0

如何關注自定義對話框中的元素?Callisto自定義對話框焦點

我試用edGroupName.Focus(FocusState.Keyboard/Programmatic)打開前後。它不工作。

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

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

回答

0

當您設置.IsOpen對話框不會立即打開 - 它不會,直到你離開你的方法和控制返回到事件循環。所以,當你撥打.Focus()時,文本框實際上並不可見。您必須延遲您的.Focus()通話,直到文字框出現在屏幕上。

這個工作對我來說:

NewGroup.IsOpen = true; 

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