zoukankan      html  css  js  c++  java
  • Silverlight WCF RIA服务(二十九)Silverlight 客户端 10

    如何:在客户端添加计算特性 我们可以在客户端添加成员属性,这些属性是有实体类中的成员属性计算而来。局部方法被用来引发事件,来通知用户界面元素数值已被更改。当我们添加计算的成员属性时,这些属性只存在于客户端项目中。
      

    如何:在客户端添加计算特性
    我们可以在客户端添加成员属性,这些属性是有实体类中的成员属性计算而来。局部方法被用来引发事件,来通知用户界面元素数值已被更改。当我们添加计算的成员属性时,这些属性只存在于客户端项目中。

    1. 在客户端项目中,添加一个类文件。
    2. 声明一个局部类,这个类与我们想要修改的实体代理类具有相同的名字和命名空间。
    3. 添加一个属性,创建一个基于一个或多个实体代理类中值的新值。
    4. 对每一个用于计算新值的成员属性都实施On[CustomProperty]Changed局部方法,并且调用RaisePropertyChanged方法来通知框架计算的属性已经更改。

    下面的示例演示了如何为一个员工计算总的不工作的有效时间,这个时间是基于休假时间和生病请假的时间。对休假时间或生病请假的时间的改动,都将会对总时间产生一个改动。
     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    using System.Windows.Ria;
     
    namespace RIAServicesExample.Web
    {
      public partial class Employee : Entity
      {
        public int TotalOffHours
        {
          get return this.SickLeaveHours + this.VacationHours; }
        }
        partial void OnSickLeaveHoursChanged()
        {
          this.RaisePropertyChanged("TotalOffHours");
        }
        partial void OnVacationHoursChanged()
        {
          this.RaisePropertyChanged("TotalOffHours");
        }
      }
    }



    可以用下面的代码来对计算的属性进行数据绑定:
     

    1
    2
    3
    4
    5
    <DATAFORM:DATAFIELD Label="Total Off Hours">
      <TEXTBOX Text="{Binding TotalOffHours, Mode=OneWay}" />
    </DATAFORM:DATAFIELD>

     

    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    pdf文件的导入导出
    扩展方法用法整理
    c#批量插入数据库Demo
    Linq表达式和Lambda表达式用法对比
    Lambda表达式的诞生过程
    LeetCode77. Combinations(剑指offer38-2)
    LeetCode47.Permutations II(剑指offer38-1)
    LeetCode567. Permutation in String
    LeetCode46. Permutations
    图解HTTP-1.web和网络基础
  • 原文地址:https://www.cnblogs.com/Areas/p/2172194.html
Copyright © 2011-2022 走看看