Windows Phone 7 学习笔记(一)

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

posted @ 2011-11-05 01:07  求道2011  阅读(290)  评论(0编辑  收藏  举报