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" />