Silverlight单向绑定相关应用技巧解析

Silverlight开发工具是微软公司在进军UI领域的一个攻坚利器。它的出现,改变了开发人员传统的变成模式,使开发人员也能补通过美工来实现各种多媒体相关功能需求。在这里我们就先来了解下Silverlight单向绑定的一些相关概念。#t#

如果需要在数据源发生变化时能够通知UI进行相应的更新,即使用Silverlight单向绑定OneWay或者双向绑定TwoWay,则业务实体需要实现接口INotifyPropertyChanged。在本示例中,我们加上一个更新按钮,当单击按钮时更新user实例的属性值,会看到界面上的数据也会发生变化。

修改一下User类,使其实现INotifyPropertyChanged接口。

 
 
 
  1. public class User : INotify
    PropertyChanged  
  2. {  
  3. public event PropertyChangedEven
    tHandler PropertyChanged;  
  4. private string _name;  
  5. public string Name  
  6. {  
  7. get { return _name; }  
  8. set   
  9. {  
  10. _name = value;  
  11. if(PropertyChanged != null)  
  12. {  
  13. PropertyChanged(this, new Property
    ChangedEventArgs("Name"));  
  14. }  
  15. }  
  16. }  
  17. private string _address;  
  18. public string Address  
  19. {  
  20. get { return _address; }  
  21. set   
  22. {  
  23. _address = value;  
  24. if (PropertyChanged != null)  
  25. {  
  26. PropertyChanged(this, new Property
    ChangedEventArgs("Address"));  
  27. }  
  28. }  
  29. }  

修改数据绑定模式,使用Silverlight单向绑定OneWay模式,如{Binding Address, Mode=OneWay}

 
 
 
  1. < Grid x:Name="LayoutRoot" 
    Background="#46461F"> 
  2. < Grid.RowDefinitions> 
  3. < RowDefinition Height="160">
  4. < /RowDefinition> 
  5. < RowDefinition Height="40">
  6. < /RowDefinition> 
  7. < RowDefinition Height="40">
  8. < /RowDefinition> 
  9. < /Grid.RowDefinitions> 
  10. < Grid.ColumnDefinitions> 
  11. < ColumnDefinition Width="150">
  12. < /ColumnDefinition> 
  13. < ColumnDefinition Width="*">
  14. < /ColumnDefinition> 
  15. < /Grid.ColumnDefinitions> 
  16. < Image Source="terrylee.jpg"
     Width="78" Height="100" 
  17. HorizontalAlignment="Left" 
    Grid.Row="0" Grid.Column="1"/> 
  18. < Button x:Name="btnUpdate" 
    Width="100" Height="40" 
  19. Content="Update" Click="btnUpdate_Click"/> 
  20. < TextBlock Foreground="White" 
    FontSize="18" Text="姓名:" 
  21. Grid.Row="1" Grid.Column="0" 
    HorizontalAlignment="Right"/> 
  22. < TextBlock x:Name="lblName" 
    Foreground="White" FontSize="18" 
  23. Grid.Row="1" Grid.Column="1" 
    HorizontalAlignment="Left" 
  24. Text="{Binding Name, Mode=OneWay}"/> 
  25. < TextBlock Foreground="White" 
    FontSize="18" Text="位置:" 
  26. Grid.Row="2" Grid.Column="0" 
    HorizontalAlignment="Right"/> 
  27. < TextBlock x:Name="lblAddress" 
    Foreground="White" FontSize="18" 
  28. Grid.Row="2" Grid.Column="1" 
    HorizontalAlignment="Left" 
  29. Text="{Binding Address, Mode=OneWay}"/> 
  30. < /Grid> 

编写事件处理程序,为了演示把user声明为一个全局的,并在按钮的单击事件中修改其属性值:

 
 
 
  1. public partial class Page : UserControl  
  2. {  
  3. public Page()  
  4. {  
  5. InitializeComponent();  
  6. }  
  7. User user;  
  8. private void UserControl_Loaded(object 
    sender, RoutedEventArgs e)  
  9. {  
  10. user = new User();  
  11. user.Name = "TerryLee";  
  12. user.Address = "中国 天津";  
  13. lblName.DataContext = user;  
  14. lblAddress.DataContext = user;  
  15. }  
  16. private void btnUpdate_Click(object 
    sender, RoutedEventArgs e)  
  17. {  
  18. user.Name = "李会军";  
  19. user.Address = "China Tianjin";  
  20. }  

Silverlight单向绑定的应用方法就为大家介绍这里,希望能帮助大家提高对Silverlight这个工具的了解程度。

网站标题:Silverlight单向绑定相关应用技巧解析
分享网址:http://www.shufengxianlan.com/qtweb/news29/461379.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联