在我的UWP应用程序中,我正在尝试进行自定义验证。 TextBox
中有几个ContentDialog
es,此ContentDialog
的主要按钮充当此表单的提交按钮(多个文本框的组)。如果出现问题,我会把重点放在那个控件上。
例如,如果我有一个TextBox Name="FirstName"
并且此元素中的值未通过验证,则执行此操作。
FirstName.Text = string.Empty;
FirstName.Focus(FocusState.Programmatic);
当在移动设备中执行此操作时,如果它不在视图中,它会向上滚动到FirstName
TextBlock(因为触摸键盘打开时焦点位于TextBlock
内)
但是在桌面上,做
FirstName.Focus(FocusState.Programmatic);
确实将焦点放在TextBlock上,但没有向上滚动(如果它不在视图中)。所以我尝试使用这行代码:
FirstName.StartBringIntoView();
但这不会意味着工作。
但是,我使用此answer使其工作,我想知道BringIntoView
的目的是什么,或者我使用它是错误的。