C# 如何在wp silverlight 8.1中在页面底部显示userControl

C# 如何在wp silverlight 8.1中在页面底部显示userControl,c#,silverlight,windows-phone,C#,Silverlight,Windows Phone,我有一个用户控件。我想在我的应用程序的所有页面底部显示它。 我这样设置垂直偏移 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; Popup

我有一个用户控件。我想在我的应用程序的所有页面底部显示它。 我这样设置垂直偏移

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;
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;
}
其中160是我的用户控制高度

我不知道确切的方法。无论如何,它适用于某些具有软键的设备。 一些满足if条件且没有软键的设备会在页面的70/72像素底部产生间隙


是否可以检查silverlight的软键可用性或在底部精确显示用户控件?

仅我需要在页面构造函数上添加sizeChanged事件 然后像这样设置弹出窗口的垂直偏移

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;
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;
}

我只需要在页面构造函数上添加sizeChanged事件 然后像这样设置弹出窗口的垂直偏移

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;
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;
}