2013-02-20 1 views
0

내 WinRT App의 뷰 중 하나에서 TextBox이 포커스를 잃을 때 BottomAppBar이 표시되기를 바랍니다. 나는 과 LostFocus 이벤트를 사용하여 의 IsOpen 속성을 수동으로 변경할 수 있습니다.WinRT, TextBox의 포커스, 이상한 동작

문제는 사용자가 TextBox 클릭하면 BottomAppBar가 열려있을 때 BottomAppBar는 (표준 AppBar 동작)를 폐쇄,하지만 TextBox는 (사용자가 바로 클릭하더라도) 집중되지 않는다. 다시 입력 할 수 있으려면 TextBox에 다시 집중해야합니다. 나는 시도하고 프로그래밍 TextBox에 포커스를 설정하는 BottomAppBarClosed 이벤트에 자신를 연결하면

, 그것은 바로 초점을 맞추고 있지만, 바로 그 대신 초점을 잃게된다, 그것에서 ScrollViewer이 집중됩니다.

TextBox이 두 번째로 포커스를 잃는 이유는 무엇입니까? 달성하려는 작업을 어떻게 할 수 있습니까?

감사합니다.

답변

3

은 아마 당신의 당신이 그것에서 그리고 ScrollViewer에 탭 및 TextBox에 포커스를 설정할 때 BottomAppBar이 종료됩니다은 초점이 바로 그 후 ScrollViewer로 설정 됨으로써 오버라이드 (override)됩니다. 포커스가 TextBox에있는 경우에만 포커스를 비활성화 할 수 있습니다 (ScrollViewer). 지연 후 포커스를 설정하려고 할 수도 있습니다 (await Task.Delay(50); 또는 await Dispatcher.RunAsync(() => /*set focus)). ScrollViewer이 포커스를 얻거나 ScrollViewer에서 GotFocus을 처리 한 후에 설정되어 포커스를 유지하려고 할 때 포커스를 TextBox으로 다시 설정할 수 있습니다 마지막으로 TextBox에 초점을 맞출 수 있는지 확인하십시오.

+0

Holly sh *! it worked> _

관련 문제