zoukankan      html  css  js  c++  java
  • Windows phone 8.1之数据绑定(Data Binding)

    学习Winphone8.1的时候经常需要对Slider进行数据绑定后使之视觉化,方便调节Slider的值。

    数据绑定分为源(Source)和目标(Target),Source一般分为两种,其他控件的数据源,或者数据对象。

    而数据源的最简单的格式是:目标控件属性="{Binding ElementName=源控件名, Path=源控件属性}"或者还可以是:目标控件属性=“{Binding Source=数据源, Path=属性名}” 。其中第二种方式Source默认为DataContext,若是此属性,一般省略不写,除非不是,Path关键字一般省略,所以最简格式一般为目标控件属性=“{Binding 属性名}”。

    在页面中放置一个Silder和一个TextBox,XAML代码如下:

    <Grid>...</Grid>是个容器,StackPanel用于横向或者竖向排列里面的内容,Orientation翻译过来就是排列方式(取向)它的属性是Vertical(纵向)、Horizontal(横向)

      <Grid>            
            <StackPanel Orientation="Vertical">  
    
                <Slider Name="MySlider" Value="30" Minimum="0" Maximum="100" />
                
                <TextBox Text="{Binding Mode=TwoWay, ElementName=MySlider, Path=Value}"/>
    
            </StackPanel>
          
        </Grid>

    看到代码中,TextBox的Text属性的值使用了绑定,绑定的源是名为MySilder的Slider,绑定的属性是Value,意思是,TextBox的Text属性的值,来源于MySilider的Value属性的值

    这里的Mode属性解释一下:Mode有三个值,即OneTime、OneWay、TwoWay,这个Binding的绑定模式与Mode有关,Binding默认的Mode是OneWay,单项绑定,也就是说Silder的Value变化时,TextBox的Text也会变,但是TextBox的Text变化时Silder的Value不会跟着变,还有两种叫做OneTime和TwoWay,OneTime是绑定一次,也就是TextBox的Text获取Silder的Value的第一个值,当Silder的Value再次变化时,TextBox的Text不会变。TwoWay是双向绑定,也就是说改变Silder的Value,TextBox的Text跟着变,改变TextBox的Text,Silder的Value也会跟着变。

    结果如图:

                      

    非常简单的给Slider添加实时可视化数值,这里TextBox也可以替换成TextBlock,具体排版和布局不做详解,有问题可以提出来大家一起讨论。

    之后会把学习到的都分享出来,喜欢的关注。

    【程序简单知识点重要不喜勿喷】

    站在巨人的肩膀上,你会看得更远。
  • 相关阅读:
    java 日期的格式化
    JAVA 线程
    java 异常
    java 内部类
    java 多态
    SpringBoot(12) SpringBoot创建非web应用
    SpringCloud(1) 架构演进和基础知识简介
    SpringBoot(11) SpringBoot自定义拦截器
    SpringBoot(10) Servlet3.0的注解:自定义原生Servlet、自定义原生Listener
    SpringBoot(9) SpringBoot整合Mybaties
  • 原文地址:https://www.cnblogs.com/JohnGene-Blog/p/5088649.html
Copyright © 2011-2022 走看看