阶段学习小结1


1.定义全局的变量在app.xaml.cs里面
2.页面跳转:


  private void Button_Click(object sender, RoutedEventArgs e)
        {
            //创建一个信息类将来传进另一个界面
            Info info = new Info();
            info.Input = input.Text.ToString();
            Frame.Navigate(typeof(two), info);


        }


        
3.获取接口中获取到的信息


//点击下面那个按钮开始执行访问接口
        private void Bt_Click(object sender, RoutedEventArgs e)
        {
            //获取输入的邮编,尽量要判断,我没有判断
            string post = this.Tb_Post.Text.ToString();
            //要访问的网址 ,加上邮编参数
            string uri = string.Format("http://webservice.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx/getAddressByZipCode?theZipCode={0}&userID=",post);
            //创建一个http请求
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
            //设置请求方法 为GET方法
            httpWebRequest.Method = HttpMethod.Get.Method;
            //开始获取网络请求资源,设置异步请求方法,这一块你可以先写成这种形式,把你跳转的方法写进去,就是GetResponse,然后右键生成方法存根,里面有一个参数,慢慢就熟悉了
            httpWebRequest.BeginGetResponse(GetRespnose, httpWebRequest);
        }


        private async void GetRespnose(IAsyncResult ar)
        {
            //先获取上面函数传来的那个httpWebRequest  ar 里面包含很多信息,你可以ar.出来一些方法你可以看看都是啥
            HttpWebRequest httpWebRequrst = ar.AsyncState as HttpWebRequest;
            //吧网络资源获取下来 有些方法你要看他的返回值呢,比如EndGetResponse返回的是WebResponse你要强制类型转换呢
            HttpWebResponse httpWenResponse =(HttpWebResponse) httpWebRequrst.EndGetResponse(ar);


            //获取网络请求流为什么要用using 呢,因为using这样写就可以释放资源,你可以理解成开辟空间,本来用完要释放 using的意思就是害怕你没有释放
            using (Stream stream = httpWenResponse.GetResponseStream())
            {
                //专门处理xml的 这个比较讨厌,写很大一对,不像json可以一句话就搞定
                XElement xelement = XElement.Load(stream);
                
                //筛选有种的信息  linq表达式,你要看看
                var result = from item in xelement.DescendantsAndSelf("ZipInfo")
                             select item;
                //开始将查询的节点信息添加到类中
                foreach(var it in result)
                {   //每个节点创建一个类,然后利用初始化器进行初始化
                    AddressInfo addressInfo = new AddressInfo 
                    {
                        Province = it.Element("PROVINCE").Value.Trim(),
                        City = it.Element("CITY").Value.Trim(),
                        Address = it.Element("ADDRESS").Value.Trim()
                    };
                    list.Add(addressInfo);
                }
                //开始更新到UI界面
                await this.Dispatcher.RunAsync(
                    Windows.UI.Core.CoreDispatcherPriority.Normal,
                    () => { itemResult.ItemsSource = list;
                    });
                   
            }
        }




4.
TextWrapping="Wrap"
是否允许换行-----允许换行


5.
 <span style="white-space:pre">	</span><Grid.RowDefinitions>
            <RowDefinition Height="*"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>



设置表格高度  这种做法是让容器中按一比一的比例分配


6. TextBlock适用于少量文字的文本展示,TextBox适用于显示、编辑单格式、多行文本,常用于在表单中编辑非格式化文本。


7. HorrizenalAliament 水平位置   VirticalAliment  垂直位置


8. 数据绑定:第一步:将要绑定内容的全局类写在App.xaml.cs里(如果不是全局类就写在那个类作用的页面后台代码中)
 第二步:在要绑定的xaml里的控件进行绑定
 第三步:在对应的后台代码中创建对象,并开始绑定
 public sealed partial class BlankPage1 : Page
    {
        telephone tel = new telephone { num = "这是标题" };
        public BlankPage1()
        {
            this.InitializeComponent();
            this.DataContext = tel;
        }

    }


每个绑定有四个组件:目标对象,目标属性,绑定源,绑定源中的值的路径
绑定源:绑定源又称为数据源,即数据绑定的数据提供者,可以是一个UI元素对象或者某个类的实例,也可以是一个集合。
绑定源中的值的路径:Path就是要具体关注的属性值。
目标对象:是数据的接受者,但不一定是数据的显示者


例:定义一个椭圆大小随着slider滑动改变:
 
<Ellipse Height="{Binding ElementName=slider,Path=Value}"
                     Width="{Binding ElementName=slider, Path=Value}"
                     Fill="Red" Name="ellipsel" Stroke="Black" StrokeThickness="1"/>



注意:只有DependencyObject类型可以定义依赖项属性


小贴士---获取当前日期:  
<span style="white-space:pre">	</span>txtBirth.Text = dt.Date.ToString("yyyy-MM-dd");




9.
用name.ToLower()把输入的姓名转换为小写,在不确定用户输入的内容时,使用它是方便的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值