2016-05-04 16 views
1

Ich habe eine Benutzerkontrolle. Ich möchte es am Ende aller Seiten in meiner App anzeigen. Ich setze den verticalOffset wie folgt.Wie ein UserControl am Ende einer Seite in WP Silverlight 8.1

if (App.Current.Host.Content.ScaleFactor==150) 
    popUp.VerticalOffset = App.Current.Host.Content.ActualHeight - 230;// 160; 
else 
    popUp.VerticalOffset = App.Current.Host.Content.ActualHeight - 160; 

Wo 160 ist meine userControl Höhe.

Ich kenne den genauen Weg nicht. Sowieso funktioniert es für irgendein Gerät, das einen Softkey hat. Einige Geräte, die if-Bedingung erfüllen und keinen SoftKey haben, erzeugen eine Lücke am unteren Ende von 70/72 Pixel der Seite.

Ist es möglich, die Softkey-Verfügbarkeit für silverlight zu überprüfen oder die Benutzersteuerung unten genau anzuzeigen?

Antwort

0

Nur ich muss sizeChanged Ereignisse auf Seitenkonstruktor hinzufügen, dann setzen Sie den vertikalen Offset des popUp wie folgt.

Popup popUP = new Popup(); 
public MainPage() 
{ 
    InitializeComponent(); 
    this.SizeChanged += MainPage_SizeChanged; 
} 

double systemTrayHeight =30; 
double popUPHeight = 200; 
private void MainPage_SizeChanged(object sender, SizeChangedEventArgs e) 
{ 
    if (popUP.IsOpen) 
     popUP.IsOpen = false; 
    popUP.Child = new PopUP(); 
    popUP.VerticalOffset = e.NewSize.Height + systemTrayHeight - popUPHeight; 
    popUP.IsOpen = true; 
} 

sample project