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>
复制代码

posted on   linzheng  阅读(1798)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

点击右上角即可分享
微信分享提示