1、获取屏幕范围:
方法一:
FrameworkElement element = Application.Current.RootVisual as FrameworkElement;
if (element == null)
{
return;
}
double width= element.ActualWidth;
double height = element.ActualHeight;
或者
方法二:
double width = Application.Current.Host.Content.ActualWidth;
double height = Application.Current.Host.Content.ActualHeight;
说明:(在WP7.1SDK 模拟器上验证)
方法一:在App构造函数中调用此方法时获取的数据都为0,此时RootVisual对象有值,但是在MainPage的构造函数中调用则出现异常,RootVisual对象为空;在MainPage中的按键事件中(此处为ApplicationIconButton对应Click事件),或者导航到新页面的构造函数中,此方法都能获取到具体数值。
方法一与方法二的返回结果都是(480,800),无论是否存在SystemTray(Status Bar)、ApplicationBar,或者屏幕是Portrait或Landscape。
另注: s
在Portrait模式下:SystemTray占据32 pixels,ApplicationBar占据72 pixels; SIP 占据 339 pixels(出现联想词则再加上62 pixels),
在Portrait模式下:SystemTray与ApplicationBar均占据72 pixels; SIP 占据259 pixels(出现联想词则再加上62 pixels),
2、 TextBox的InputScope属性:
cs文件中:
InputScope inputScope = new InputScope();
inputScope.Names.Add(new InputScopeName { NameValue = InputScopeNameValue.Url });
this.TextBox.InputScope = inputScope;
xaml文件中:
如果不清楚InputScope的取值,可以使用此种方式获取提示:
<TextBox x:Name="TextBox">
<TextBox.InputScope>
<InputScope>
<InputScope.Names>
<InputScopeName NamveValue="Url" />
</InputScope.Names>
</InputScope>
</TextBox.InputScope>
</TextBox>
当知道InputScope具体取值时可:
<TextBox x:Name="TextBox" InputScope="Url" />