zoukankan      html  css  js  c++  java
  • Windows Phone 7 数据绑定的简单介绍

    三种模式的数据绑定。
    1.OneTime:一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数据而不进行数据的更新。
    2.OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据。
    3.TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标。

    绑定的语法可以用大括号表示,下面是几个例子:

    < TextBlock Text="{Binding Age}" />

    等同于:

    < TextBlock Text="{Binding Path=Age}" />

    或者显式写出绑定方向:

    < TextBlock Text="{Binding Path=Age, Mode=OneWay}" />

    按照数据绑定的语义,默认是 OneWa y 的,也就是说如果后台的数据发生变化,前台建立了绑定关系的相关控件也应该发生更新。

    一个小例子,通过slider的值来控制矩形控件图形的宽度

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="*" />
    <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <!--这个是绑定的资源,它的值的变化会引起下面的矩形的变化-->
    <Slider Name="slider"
    Value
    ="90"
    Grid.Row
    ="0"
    Maximum
    ="180"
    Margin
    ="24" />

    <TextBlock Name="txtblk"
    Text
    ="{Binding ElementName=slider, Path=Value}"
    Grid.Row
    ="1"
    FontSize
    ="48"
    HorizontalAlignment
    ="Center"
    VerticalAlignment
    ="Center" />

    <Rectangle Grid.Row="2"
    Width
    ="{Binding ElementName=slider, Path=Value}"
    RenderTransformOrigin
    ="0.5 0.5"
    Fill
    ="Blue">
    <Rectangle.RenderTransform>
    <RotateTransform x:Name="rotate"
    Angle
    ="90" />
    </Rectangle.RenderTransform>
    </Rectangle>
    </Grid>
  • 相关阅读:
    观察者模式(学习笔记17)
    web前端安全编码(模版篇)
    如何获取元素最终使用的css值
    Range在各浏览器下的问题和常见处理办法
    总结cookie的一些问题
    js 设计模式单例模式
    web端不能登录问题汇总
    多域名登录方案思考
    深入分析js中的constructor 和prototype
    由一次代码优化想到的Js 数据类型
  • 原文地址:https://www.cnblogs.com/linzheng/p/1958810.html
Copyright © 2011-2022 走看看