wp中的双向绑定

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WpfApplication2
{
    /// <summary>
    /// 继承INotifyPropertyChanged接口,当值发生改变时,向客户端发出通知。
    /// </summary>
    public class SliderClass : INotifyPropertyChanged
    {

        public event PropertyChangedEventHandler PropertyChanged;

        public void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        private double _length=0.0;
        public double Length
        {
            get
            {
                return _length;
            }
            set
            {
                _length = value;
                NotifyPropertyChanged("Length");
            }
        }
    }
}

在mainpage中定义两个Slider。

    <Grid x:Name="grid">
        <Grid.RowDefinitions>
            <RowDefinition Height="120*"/>
            <RowDefinition Height="199*"/>
        </Grid.RowDefinitions>
        <Slider Value="{Binding Path=Length,Mode=TwoWay}" Margin="10,0,-10,71"/>
        <Slider Value="{Binding Path=Length,Mode=TwoWay}" Grid.Row="1" Margin="0,47,0,123"></Slider>
    </Grid>

在后台new一个SliderClass作为Grid的数据源。会发现第一个Slider会带动第二个Slider变化,反之也成立。

本文主要理解INotifyPropertyChanged接口和实现双向绑定基础以及如何调用NotifyPropertyChanged。

posted @ 2013-07-23 20:43  haiziguo  阅读(339)  评论(0编辑  收藏  举报