2016-05-04 13 views
1

私はユーザーコントロールを持っています。私は私のアプリのすべてのページの一番下にそれを表示したい。 このようにverticalOffsetを設定しました。wp silverlightのページの一番下にuserControlを表示するには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; 

ここで、160は私のuserControlの高さです。

正確な方法はわかりません。とにかく、それはソフトキーを持ついくつかのデバイスで動作します。 条件が満たされ、ソフトキーがないデバイスは、ページの70/72ピクセルの下にギャップを作成します。

シルバーライトのソフトキーの有無を確認するか、ユーザーコントロールを下部に正確に表示できますか?

答えて

0

ページコンストラクタでsizeChangedイベントを追加するだけです このようにpopUpのverticaloffsetを設定します。

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

関連する問題