我有一个用户控件。我想在我的应用程序的所有页面的底部显示它。 我像这样设置了verticalOffset。
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高度。
我不知道确切的方法。无论如何,它适用于某些具有软键的设备。 某些满足if条件且没有softKey的设备会在页面的70/72像素底部创建一个间隙。
是否可以检查silverlight的软键可用性或在底部显示用户控件?
答案 0 :(得分: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;
}