두 개의 텍스트 상자, 아래쪽에 확인란과 두 개의 텍스트 상자가있는 페이지가 있습니다.키보드가 이미 표시되어있을 때 프로그래밍 방식으로 포커스를 텍스트 상자에 설정
확인란을 클릭하면 그 아래의 텍스트 상자에 포커스를 설정하려고합니다. 잘 작동하면 소프트 키보드가 나타나고 화면이 위로 스크롤되어 키보드 위에있는 텍스트 상자가 나타납니다.
그러나 TextBox1 또는 TextBox2에 현재 포커스가 있고 키보드가 이미 표시된 경우 CheckBox_Click 이벤트의 포커스를 설정하면 화면이 재설정되고 다시 아래로 스크롤됩니다. 텍스트 상자 외부에서 초점을 얻었고, 키보드를 보여줍니다 (하지만 화면을 스크롤하지 않습니다 - 텍스트 상자 포커스를 잃을 키보드 + 다시 아래로 화면을 스크롤 숨 깁니다 -
나는 이벤트가 다른 하나와 충돌 같은데요)
어떻게 든 방지 할 수 있습니까? 뒤에 코드
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel Margin="0,100,0,0">
<TextBox x:Name="TextBox1" />
<TextBox x:Name="TextBox2" />
<CheckBox Content="Click Me" Click="CheckBox_Click" />
<TextBox x:Name="TextBox3" />
<TextBox x:Name="TextBox4" />
</StackPanel>
</Grid>
:
여기 간략화 XAML의 버전 코드는
XAML이야
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
TextBox3.Focus();
}
덕분에
우선주의해야 할 점은 CheckBox_click 이벤트는 checkBox가 이미 선택되었는지 여부를 제어하지 않습니다. 그리고 나는 어떻게 볼 수 없습니까? ** CheckBox_Click 이벤트는 화면을 재설정하고 다시 아래로 스크롤합니다 ** 귀하의 예제에서 스크롤을 볼 수 없습니다. 뭔가 놓친 거 없니? – Olter