Şu anda bir Evrensel Uygulama geliştiriyorum, ama burada bir sorun var. Kullanıcı Telefon Numarası için TextBox ile bir Çerçeve var. InputPane düzgün çalışmıyor
Bu yüzden, boşluğa sığabilmesi için LayoutRoot (GRID) yüksekliğini değiştirmek istiyorum.
Bu amaçla InputPane.GetForCurrentView().Showing
ve InputPane.GetForCurrentView().Hiding
kullanıyorum. İşte kodum.
public UserRegistrationAuthorization_PhoneNumber()
{
this.InitializeComponent();
LayoutRootInitialHeight = LayoutRoot.ActualHeight;
InputPane.GetForCurrentView().Showing += UserRegistrationAuthorization_PhoneNumber_Showing;
InputPane.GetForCurrentView().Hiding += UserRegistrationAuthorization_PhoneNumber_Hiding;
}
private void UserRegistrationAuthorization_PhoneNumber_Showing(InputPane sender, InputPaneVisibilityEventArgs args)
{
LayoutRoot.Height = LayoutRoot.ActualHeight - args.OccludedRect.Height;
LayoutRoot.VerticalAlignment = VerticalAlignment.Top;
args.EnsuredFocusedElementInView = true;
}
private void UserRegistrationAuthorization_PhoneNumber_Hiding(InputPane sender, InputPaneVisibilityEventArgs args)
{
// TODO: Get rid of that shit
LayoutRoot.Height = LayoutRootInitialHeight;
args.EnsuredFocusedElementInView = false;
}
Ben TextBox klavye gizler dışında tıklayın ve bundan sonra ekranda bir kara delik bırakır.
2
Ama en ilginç benim Lumia o fiziksel Geri Düğmesi bastığınızda, klavye normalde sakladığı ve benim LayoutRoot Çerçevesinin ilk yüksekliğini alır.
Hata mı, yoksa yanlış bir şey mi yapıyorum?
Bu detaylı cevap için teşekkürler! –