2

Yazılım klavyesi gösterildiğinde, sayfanın içeriğini nasıl taşıyacağını (belki de göreceli kenar boşluklarını veya bunun gibi bir şeyi) herkes biliyor mu?Windows 10 Yumuşak klavyenin mobil yüksekliği

İşte uygulamamın örnek sayfası. kullanıcı alt düğme yumuşak klavyenin üst gösterilir metin kutusuna bir telefon numarasını yazarak başladığında

1

yüzden istiyorum.

1

P.S.: ekranlarında Rus dili üzgünüm Sonuç olarak ben böyle bir şey istiyorum.

cevap

3

Bu biraz zor, ama denediğim gibi çalışmalıyım. Düğmenin çeviri dönüşümünü değiştirmek için olayları gösteren ve gizleyen InputPane'ın kullandım. Size aksi sayfadan ayrılabilir ederken muhtemelen bu olayların çıkmak zorunda kalacak -

Windows.UI.ViewManagement.InputPane.GetForCurrentView().Showing += (s, args) => 
{ 
    GeneralTransform gt = loginButton.TransformToVisual(this); 
    Point buttonPoint = gt.TransformPoint(new Point(0, loginButton.RenderSize.Height - 1)); 
    var trans = new TranslateTransform { Y = -(buttonPoint.Y - args.OccludedRect.Top) }; 
    loginButton.RenderTransform = trans; 
    args.EnsuredFocusedElementInView = true; 
}; 

Windows.UI.ViewManagement.InputPane.GetForCurrentView().Hiding += (s, args) => 
{ 
    var trans = new TranslateTransform { Y = 0 }; 
    loginButton.RenderTransform = trans; 
    args.EnsuredFocusedElementInView = false; 
}; 

Yalnızca InputPane bütün uygulama için olduğunu hatırlamak zorunda: sayfanın Yapıcıda böyle kodunu ekledikten Muhtemelen istisnalar alacaksınız.

+0

Evet! Bu iyi çalışıyor! Çok teşekkür ederim) –

+0

Tekrar merhaba. Önceki yardımın için çok teşekkürler, ama bana bir şey daha açıklayabilir misin lütfen? TranslateTransform'dan sonra, düğme artık klavyenin üstünde olduğunda ona dokunamıyorum. Tıklama olayı, düğmeden geçer. Bunu nasıl düzeltebilirim? –

+0

@KonstantinChsherbakov Bundan emin değilim ve şu an fazla zamanım yok. SO hakkında başka bir soru sorabilirseniz daha iyi olurdu, belki birisi cevabı bilecek. – Romasz