windows phone 学习(4)

1.Windows Phone8比Windows Phone7多了哪些:
支持C++(组件级的补充,主体还是C#);采用Windows 8 SDK;更多API;
2.普通的手机只能通过MarketPlace这个唯一的渠道下载安装软件,开发者帐户机制,对于手机可以使用开发者帐户去对手机解锁(Developer Unlock)。花钱买:99$。开发者帐户:被手机解锁,可以上传软件到MarketPlace。
学生账号:免费,edu邮箱,wpxap.com去求,去淘宝也能买。学生账号只能部署3个程序,普通开发者帐户是10个,满了就删旧的。
刷机完全越狱:没有数量限制,不能上传到Marketplace。每种手机刷机方法不一样。小心谨慎。
3.“生成操作=Content,内容”是放到XAP压缩包中的,“生成操作=Resource,资源”是放到dll中的。Content效率高。
XAML是编译生成到dll的资源中的,然后允许时通过LoadComponent加载xaml文件。不像asp.net中aspx和cs那样的继承关系。
4.Silverlight中有Canvas、StackPanel、Grid三种基本布局容器,放在布局容器中的控件按照布局容器的特点进行布局。
5.Canvas就是根据坐标、大小进行绝对定位布局。
 <Canvas>
            <Button Canvas.Left="28" Canvas.Top="26" Content="Button" Height="45" Width="92" />
            <TextBox Canvas.Left="44" Canvas.Top="81" Height="23" Width="183" />
</Canvas>
Canvas.Top属性指定控件左上角的纵坐标; Canvas.Left属性指定控件左上角的横坐标。
补充:代码设置Top、Left等附加属性的方法:Canvas.SetTop(控件名称,值)。
StackPanel是把子控件横向或者纵向排列,Orientation属性设定排列方向:Horizontal(水平)、Vertical(纵向,默认值)
<StackPanel>
<TextBox Height="23" Width="120"/>
<TextBox Height="23" Width="120"/>
<TextBox Height="23" Width="120"/>
</StackPanel>
Grid
首先定义行数和列数,以及占的宽、高;Grid.Column、Grid.Row设定所在的行、列;Grid.ColumnSpan、Grid.RowSpan设定占据的行、列
无论哪种布局都可以通过Margin属性(左上右下)修改元素之间的相对距离,类似于HTML;
Width、Height的可选值:Auto:自动;*剩余空间;0.3*:占据30%空间。
6.如何通过代码动态添加控件:sp1.Children.Add(tb);
以及动态定位控件TextBox tb1 = (TextBox)FindName("动态txt1");
7.Silverlight的界面都是使用画刷(Brush)画出来的,可以改变不同的画刷画不同的内容:
SolidColorBrush:实心颜色画刷
LinearGradientBrush:渐变画刷
RadialGradientBrush:径向渐变画刷(以圆心散射)
ImageBrush:图片画刷
Brush类型的属性都可以指定各种Brush,比如Button的Foreground属性、Rectangle(矩形图形)的Fill属性。
        <Rectangle>
            <Rectangle.Fill>
                <SolidColorBrush>Red</SolidColorBrush>
            </Rectangle.Fill>
        </Rectangle>
  
<TextBlock Text="World" FontSize="56">
  <TextBlock.Foreground>
   <!--渐变画刷-->
  <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
   <GradientStop Color="Blue" Offset="0"></GradientStop>
     <GradientStop Color="Yellow" Offset="0.5"></GradientStop>
     <GradientStop Color="Red" Offset="1"></GradientStop>
  </LinearGradientBrush>
  </TextBlock.Foreground>
</TextBlock>
线性渐变中有“渐变点”的概念,也就是在渐变的路线中设置渐变点(GradientStop)的颜色(Color),由于可以设定多个渐变点,因此需要设定渐变点的偏移量(Offset,最大为1,最小为0)
LinearGradientBrush默认是从左上角(0,0)渐变到右下角(1,1),可以通过StartPoint、EndPoint属性设置渐变的起止点:<LinearGradientBrush StartPoint=“0.5,0" EndPoint=“0.5,1" >
Name和x:Name的区别:所有的可视控件都继承自FrameworkElement, FrameworkElement类中定义类Name属性。继承自FrameworkElement的类即可以使用Name也可以使用x:Name,但是不是FrameworkElement子类只能使用x:Name。
<TextBlock Text="World" FontSize="56">
                <TextBlock.Foreground>
                    <!--径向渐变画刷(以圆心散射)-->
                  <RadialGradientBrush>
                       <GradientStop Color="Blue" Offset="0"></GradientStop>
                      <GradientStop Color="Yellow" Offset="0.5"></GradientStop>
                      <GradientStop Color="Red" Offset="1"></GradientStop>
                  </RadialGradientBrush>
                </TextBlock.Foreground>
</TextBlock>
<!--图片画刷,Stretch图片排列方式-->
            <TextBlock Text="图片画刷" FontSize="56">
                <TextBlock.Foreground>
                    <ImageBrush ImageSource="Koala.jpg" Stretch="UniformToFill"></ImageBrush>
                </TextBlock.Foreground>
            </TextBlock>
   
RotateTransform:旋转变换。
ScaleTransform:缩放变换。
SkewTransform:倾斜变换。
TranslateTransform:平移变换。
 <Image.RenderTransform>
                <RotateTransform CenterX="40" CenterY="40" Angle="-30"></RotateTransform>
</Image.RenderTransform>
CenterX、CenterY为最大值为像素,Angle为旋转角度,顺时针为正,逆时针为负。
ScaleTransform为元素缩放
            <Image.RenderTransform>
                <ScaleTransform CenterX=“40” CenterY=“40” ScaleX=“2” ScaleY=“0.5”></ScaleTransform> ScaleX、 ScaleY为缩放的倍数。
            </Image.RenderTransform>
如果ScaleX、 ScaleY设置为负值,则可以实现翻转的效果。案例:带倒影的视频播放器。图片放大、缩小
3)倾斜变换
            <Image.RenderTransform>
                <SkewTransform AngleX="30" AngleY="10"></SkewTransform>
            </Image.RenderTransform>
4)平移变换
            <Image.RenderTransform>
                <TranslateTransform X="30" Y="50"></TranslateTransform>
            </Image.RenderTransform>
            X、Y表示平移的变化量。因为不推荐使用Canvas布局,所以如果动态控制元素位置、大小一般使用ScaleTransform 、 TranslateTransform ,不推荐修改元素的Height、Width和坐标。

Silverlight推荐用Tap(点击)、DoubleTap(双击)、Hold(长按)
8.用户控件实现等待控件:继承UserControl,使用的时候先在头部引用所在的命名控件和程序集,并且给一个别名
xmlns:ctrls="clr-namespace:PhoneApp1.Ctrls",然后就可以<ctrls:WaitingControl x:Name="wc1"></ctrls:WaitingControl>使用了
自定义控件:继承自现有的控件,给控件加更多功能。
用户控件是组合现有控件,自定义控件是继承现有控件增加更多功能
投射不是变换
            <Image.Projection>
                <PlaneProjection RotationX="20"></PlaneProjection>
            </Image.Projection>
9样式:页面样式
<phone:PhoneApplicationPage.Resources>
        <Style TargetType="TextBlock" x:Name="tb4">
            <Setter  Property="Foreground" Value="Red"></Setter>
        </Style>
        <Style TargetType="TextBlock" x:Name="tb1">
            <Setter  Property="Foreground" Value="Blue"></Setter>
        </Style>
        <Style TargetType="TextBlock" x:Name="tb2" BasedOn="{StaticResource tb1}">
            <Setter  Property="FontSize" Value="48"></Setter>
        </Style>
    
    </phone:PhoneApplicationPage.Resources>
全局样式
  <Application.Resources>
        <Style TargetType="TextBlock" x:Key="tbGreen">
            <Setter Property="Foreground" Value="Green"></Setter>
        </Style>
    </Application.Resources>
10.换肤功能
不同样式的资源字典,这些文件都设定为“Resource”
页面中不要在xaml中引入资源字典!,否则会覆盖全局
 private static void ApplySkin(ResourceDictionary newStyle)
        {
         App.Current.Resources.MergedDictionaries.Clear();
App.Current.Resources.MergedDictionaries.Add(newStyle);
        }
应用不同的样式
ResourceDictionary newStyle = new ResourceDictionary();
            newStyle.Source = new Uri("/PhoneApp1;component/样式换肤/SkinFire.xaml", UriKind.RelativeOrAbsolute);
            ApplySkin(newStyle);
将样式加载到全局中
11.资源文件
可以把任意元素声明到Resources,相当于new一个对象,可以通过名字引用,在xaml中通过Key引用
xmlns:system="clr-namespace:System;assembly=mscorlib"
<phone:PhoneApplicationPage.Resources>
        <SolidColorBrush Color="Red" x:Key="scb"></SolidColorBrush>
        <system:String x:Key="str">3</system:String>
    </phone:PhoneApplicationPage.Resources>
     <Button Foreground="{StaticResource scb}" Content="aa"></Button>
                <Button Content="{StaticResource str}"></Button>
读取资源文件中的元素:string msg = (string)App.Current.Resources["key"];

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断dll是版本(Debug Or Release)[测试通过]

简单的代码&#xff0c;google搜索提炼和分析&#xff0c;主要是利用反射技术&#xff0c;测试通过&#xff0c;抛砖引玉&#xff0c;自娱自乐&#xff0c;多多指教。 publicpartialclass_Default : System.Web.UI.Page{ protectedvoidPage_Load(objectsender, EventArgs e)…

手把手带你玩转Tensorflow 物体检测 API (3)——训练模型

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

动态类型var和dynamic和传统确定类型区别和效率

伴随着vs2010的出现&#xff0c;c#4.0的诞生&#xff0c;与之而来的动态类型dynamic更是给net程序员们锦上添花&#xff0c;为自己的程序书写上带来了给大的便利。可到底怎么用&#xff0c;好不好用&#xff0c;效率这么样&#xff0c;也许是大家最迫切关注的&#xff0c;msdn虽…

epel yum源

如果既想获得 RHEL 的高质量、高性能、高可靠性&#xff0c;又需要方便易用(关键是免费)的软件包更新功能&#xff0c;那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux)正好适合你。EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造&…

Windows 7 设置devenv.exe启动版本

我机子上装了有vs 05、vs 08、vs 10如果按上顺序安装的话&#xff0c;在 运行 > devenv 就可以打开最新的vs10 工具&#xff0c;如果顺序是乱的话&#xff0c;就没那么幸运了&#xff0c;也就是说你最后安装的版本将会被你的 devenv 命令打开&#xff0c;原因是最后一次安装…

手把手带你玩转Tensorflow 物体检测 API (4)—— 模型验证

致谢声明 本文在学习《Tensorflow object detection API 搭建属于自己的物体识别模型&#xff08;2&#xff09;——训练并使用自己的模型》的基础上优化并总结&#xff0c;此博客链接&#xff1a;https://blog.csdn.net/dy_guox/article/details/79111949&#xff0c;感谢此博…

java 获得文件的行数据_Java 读取文件指定行数据

public class ReadFileDemo1 {/*** 获取错误文件中的记录号* param sourceFile* return*/public static int[] readBadFile(String sourceFile){FileReader in null;LineNumberReader reader null;int[] array new int[0];try {//获取文件总行数long totalLine Files.lines…

几款浏览器JavaScript调试工具

WEB开发工具的使用已经非常普及&#xff0c;如果想要更方便于开发的话&#xff0c;不妨看看本文介绍的15款基于浏览器扩展的WEB开发工具。 1.Firebug Firebug是一款基于Firefox的浏览器扩展组件&#xff0c;它集成了网页CSS &#xff0c;文档对象模型( DOM )和JavaScript调试技…

mysql tomcat列表增删改查_Tomcat-Database

Tomcat-Database介绍根据Tomcat9源码二次开发&#xff0c;增加数据库功能&#xff0c;可一行代码实现CURD安装教程需要先配置Ant&#xff0c;然后在根目录下执行ant命令&#xff0c;即可编译&#xff0c;编译后的目录在Tomcat-Database/output/build下&#xff0c;其中在bin下可…

fatal error C1010: unexpected end of file while looking for precompiled head

致命错误C1010&#xff1a;在寻找预编译指示头文件时&#xff0c;文件未预期结束。 就是没有找到预编译指示信息的头文件。 问题一般发生在&#xff1a;通过添加文件的方式&#xff0c;添加了一些cpp文件到一个MFC的程序&#xff0c;但该cpp文件并不是MFC&#xff0c;而是标准…

Kafka集群部署CentOS 7

一、前言 1、Kafka简介 Kafka是一个开源的分布式消息引擎/消息中间件&#xff0c;同时Kafka也是一个流处理平台。Kakfa支持以发布/订阅的方式在应用间传递消息&#xff0c;同时并基于消息功能添加了Kafka Connect、Kafka Streams以支持连接其他系统的数据(Elasticsearch、Had…

Asp.net中Js、Css文件压缩辅助类

类名&#xff1a;WebCompressUtility.cs 代码如下&#xff1a; /// <summary>/// Js、Css文件压缩辅助类/// Stone_W/// 2011.6.21/// </summary>public class WebCompressUtility{public WebCompressUtility() { }#region 判断浏览器是否支持指定压缩/// <sum…

mysql+e+文件+xls_TP5+PHPexcel导入xls,xlsx文件读取数据

首先:在extend里面引入PHPexcel文件,直接根目录导入进去html创建上传按钮上传excel上传文件立即提交重置layui.use([form,upload],function(){var formlayui.form;var uploadlayui.upload;upload.render({ //允许上传的文件后缀elem: #myfile,url: "{:url(sale/do_uploa…

SQL Server 2008 FILESTREAM特性管理文件

在SQL Server 2008中&#xff0c;新的FILESTREAM&#xff08;文件流&#xff09;特性和varbinary列配合&#xff0c;你可以在服务器的文件系统上存储真实的数据&#xff0c;但可以在数据库上下文内管理和访问&#xff0c;这个特性让SQL Server不仅可以维护好数据库内记录的完整…

IP地址、手机归属和身份证查询接口

1. 查询手机&#xff1a;http://www.yodao.com/smartresult-xml/search.s?typemobile&q手机号码 2. 查询IP&#xff1a;http://www.yodao.com/smartresult-xml/search.s?typeip&qIP地址 3. 查询身份证&#xff1a;http://www.yodao.com/smartresult-xml/search.s?…

mysql5.6.24安装perl_mysql5.6源码安装

背景&#xff1a;现有mysql版本为5.5.40&#xff0c;考虑到以后需做主从&#xff0c;而5.6在主从方面、mysql读写方面都有很大提升。所以&#xff0c;准备升级。官网&#xff1a;http://www.mysql.com/环境&#xff1a;centos6.5 X86_64安装目录&#xff1a;/database/mysql解压…

把字符串转化为类型

问题&#xff1a;可以得到类型的String格式的名称&#xff0c;想要转化为相应的类型&#xff1f; ps&#xff1a;今天定义了好多个枚举类型&#xff0c;把枚举名称存放在一个ComboBox类名&#xff0c;控件值改变的时候要查询出这个枚举的所有属性集合&#xff0c;刚开始想到反…

System.Drawing.Color转System.Windows.Media.Color

2019独角兽企业重金招聘Python工程师标准>>> //这是两个不同的类 System.Windows.Media.Color color (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(transItemList[i].color.Name); 转载于:https://my.oschina.net/SearchVe…

Prometheus 监控Mysql服务器及Grafana可视化

Prometheus 监控Mysql服务器及Grafana可视化 mysql_exporter&#xff1a;用于收集MySQL性能信息。 使用版本mysqld_exporter 0.11.0官方地址使用文档&#xff1a;https://github.com/prometheus/mysqld_exporter图标模板&#xff1a;https://grafana.com/dashboards/7362下载…

visual studio 2010 如何修改assemblyInfo.cs默认值

这个应该是安装系统时的单位名称。修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\RegisteredOrganization的值即可。另外&#xff0c;可以修改项目模板里面的内容C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ProjectTemplates\CSharp\W…