文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>silverlight依赖属性

silverlight依赖属性

时间:2010-10-06  来源:一粒沙

1.一个实体类,需要实现“INotifyPropertyChanged”接口

 

代码     public class student : INotifyPropertyChanged
    {
        string name;

        public string Name
        {
            get { return name; }
            set
            {
                name = value;

                //这里需要传递“Name”,而不是私有变量“name”
                NotifyPropertyChange("Name");       
            }
        }

        public int age { get; set; }

        #region INotifyPropertyChanged 成员

        public event PropertyChangedEventHandler PropertyChanged;       //INotifyPropertyChanged接口委托
        private void NotifyPropertyChange(string propertyName)
        {
            if (PropertyChanged != null)
            {
                //通知更新所有绑定了propertyName,属性的控件更新界面值
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        #endregion
    }

 

 

2.在xaml中,设置控件的绑定更新方向: <sdk:Label Height="28" Content="{Binding Name,Mode=TwoWay}"

 

代码     <Grid x:Name="LayoutRoot">
        <TextBox Height="23" HorizontalAlignment="Left" Margin="250,144,0,0" Name="txtName" VerticalAlignment="Top" Width="120" />
        <sdk:Label Height="23" Content="名称:" HorizontalAlignment="Left" Margin="175,144,0,0" Name="label1" VerticalAlignment="Top" Width="69" />
        <Button Content="确定" Height="23" HorizontalAlignment="Left" Margin="250,215,0,0" Name="btnOK" VerticalAlignment="Top" Width="75" Click="btnOK_Click" />
        <sdk:Label Height="28" Content="{Binding Name,Mode=TwoWay}" HorizontalAlignment="Left" Margin="175,103,0,0" Name="labMessage" VerticalAlignment="Top" Width="120" />
        <TextBox Height="23" HorizontalAlignment="Left" Margin="250,173,0,0" Name="txtAge" VerticalAlignment="Top" Width="120" />
        <sdk:Label Content="年龄:" Height="23" HorizontalAlignment="Left" Margin="175,173,0,0" Name="label3" VerticalAlignment="Top" Width="69" />
    </Grid>

 

 

3.在cs代码中更新实体类的依赖属性

 

代码     public partial class Page1 : Page
    {
        student myStudent = new student();

        public Page1()
        {
            InitializeComponent();

            myStudent.Name = "张三";
            myStudent.age = 20;

            this.DataContext = myStudent;
        }

        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            //myStudent.Name更新的同时,也会自动更新labMessage.Content的值
            myStudent.Name = txtName.Text;
        }
    }

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载