WPF——数据绑定及属性改变事件

一、首先需要封装一下文本框的属性,并且在实体类中添加一个实体类的属性改变函数

 public class User : INotifyPropertyChanged //INotifyPropertyChanged接口是 WPF/Silverlight 开发中非常重要的接口, 它构成了 ViewModel 的基础, 数据绑定基本上都需要这个接口。
    {
        private string _Wenben;

        public string Wenben
        {
            get { return _Wenben; }
            set
            {
                _Wenben = value;
                OnPropertyChanged("Wenben");    //调用属性改变函数,将Wenben扔进去来改变它
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        //PropertyChangedEventHandler 事件委托。
        //所谓“事件委托”,一个事件的本质是一个委托(因为事件是委托类型的)。
        //而委托的好处在于它可以动态调用不同类之间(即跨类调用)具备相同函数签名(函数参数顺序、类型、个数相同),且函数返回值必须完全相同的函数。
        public virtual void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }

二、然后当点击按钮的时候文本便会改变了,前提先让文本框1绑定一下数据源是Wenben

 public partial class MainWindow : Window
    {
        User  u = new User(); //先引用实体类User,并且实例化出u
        public MainWindow()
        {
            InitializeComponent();
            TextBox1.DataContext = u; //文本框1的数据源是实体类u
        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
           //点击按钮进行实体类u的属性改变
            u.Wenben = DateTime.Now.ToString("HH:mm:ss.fff");    //DateTime.Now.ToString("HH:mm:ss.fff");   时间(显示到毫秒)
        }
    }

时间: 2024-10-23 15:26:52

WPF——数据绑定及属性改变事件的相关文章

正确处理WPF中Slider值改变事件的方式

最近在用WPF数据绑定重写一下播放器项目时遇到的关于Slider的问题,在窗体透明度调节和播放进度调节上用了Slider控件.调节窗体透明度我是 这么想的:将窗体的Opacity属性的值与Slider的值绑定不就可以了,Opacity="{Binding ElementName=Slider,Path=Value,Mode=OneWay}",这样根本不用处理Slider的值改变事件 (ValueChanged).不过我要做保存设置的功能,因此肯定要记录Slider的值咯,于是处理一下V

Java重要技术(15)内省之属性改变事件和投票否决事件

1.1. 属性改变事件和投票否决事件 PropertyChangeSupport类为Java Bean支持属性改变事件提供了方便. /** * @Title: EventBean.java * @Package com.test.javatechnology.introspection * @Description: * @author http://www.cnblogs.com/coe2coe/ * @date 2017年3月25日 下午6:02:36 * @version V1.0 */

silverlight属性改变事件通知

工作中遇到silverlight本身没有提供的某些属性改变事件,但又需要在属性改变时得到通知,Google搬运stack overflow,原地址 /// Listen for change of the dependency property public void RegisterForNotification(string propertyName, FrameworkElement element, PropertyChangedCallback callback) { //Bind t

GTK进阶学习:属性改变事件

当窗口初始化,被移动或拉伸时,会触发属性改变事件. 属性改变事件产生的信号:configure_event 其回调函数的定义如下: gboolean callback( GtkWidget *widget, GdkEventConfigure *event, gpointer data ) { event:属性事件结构体变量,系统内部的变量,不是用户传参的 event->x,event->y:窗口的起点坐标 event->width,event->height:窗口的大小 } 以下

监听元素属性改变事件的方法

一.onchange事件只在键盘或者鼠标操作改变对象属性,且失去焦点时触发,脚本触发无效.(就是说你在输入框中输入完内容,输入完了,然后鼠标点别的地方触发该事件)二.oninput事件oninput 事件在用户输入时触发.不支持JS等赋值改变的元素属性.该事件在 <input> 或 <textarea> 元素的值发生改变时触发.(也就是说,不用输入完,边输入边触发该事件)①但是,这个方法是HTML5中的标准事件,IE9以下的浏览器是不支持oninput事件的.②使用时,还需要oni

CMFCPropertyGridCtrl的属性改变事件代码

//用于区分Prop, 使用SetData, GetData方法 CMFCPropertyGridProperty* pProp1 = new CMFCPropertyGridProperty(strTitle, (_variant_t)bVal, strDesc); pProp1->SetData(100); int nPropId = pProp1->GetData(); //声明消息处理函数 afx_msg LRESULT OnPropertyChanged( WPARAM wParam

WPF中model属性即时改变

新建一个model作为说明即可,以便查阅. 添加引用:using System.ComponentModel ; public class Test:INotifyPropertyChanged { private string name; public string Name { get { return this.name; } set { this.name = value; NotifyPropertyChanged("Name"); } } public event Prop

WPF 数据绑定基础

纯理论,可能会枯燥. .net 技术群: 199281001 ,欢迎加入. 1.目标对象一定是派生自DependencyObject的对象,并且目标属性必须是依赖属性,否则数据绑定操作将会失   败.绑定源对象可以不是依赖对象和依赖属性. 2.定义了依赖属性时,FrameworkPropertyMetadataOptions.NotDataBindable 标志会影响依赖属性的绑定.当改变源对象依赖属性值后,绑定目标可以立即得以更新,开发人员不需要响应事件来手动编写响应代码. 3.移除绑定:开发

WPF 10天修炼 第十天- WPF数据绑定

WPF数据绑定 数据绑定到元素属性是将源对象指定为一个WPF元素,并且源属性是一个依赖属性,依赖属性内置了变更通知.当改变源对象依赖属性值之后,绑定目标可以立即得到更新,开发人员不需要手动编写响应事件. 在绑定来源和绑定目标之间,可以使用Mode属性指定绑定的方法.Mode属性是System.Windows.Data.BindMode枚举类型的属性: OneWay:源数据变更目标数据变更,反之不行 OneTime:仅在启动时更新 OneWayToSource:目标数据更新源数据更新,反之不行 T