A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 亚伦 中级黑马   /  2014-5-12 18:52  /  901 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 亚伦 于 2014-5-12 21:53 编辑
  1. <TextBox Name="TBox_ShowPath1" Width="300"></TextBox>
复制代码
假如我在WPF程序里有个TextBox,我怎么把他的Text属性与我在另一个程序集里的类定义的属性绑定在一起。要求是如果我修改类定义的属性,Text属性也跟着改,反之亦然。

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

3 个回复

倒序浏览
1.自定义生成的persons类   继承INotifyPropertyChanged接口。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace 数据绑定事件
{
    class Persons:INotifyPropertyChanged
    {
        private string _name;
        private int _age;

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

        public int Age
        {
            get { return _age;}
            set
            {
                _age = value;
                if (PropertyChanged != null)
                {
                    PropertyChanged(this, new PropertyChangedEventArgs("Age"));
                }
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
    }
}
2.定义事件public event PropertyChangedEventHandler PropertyChanged;,在值进行修改的set属性触发事件PropertyChanged(this, new PropertyChangedEventArgs("Age"));
3.using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace 数据绑定事件
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
         Persons p = new Persons();
        
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            p.Name = "王运波";
            p.Age = 18;

            tb_name.DataContext = p;
            tb_age.DataContext = p;
        }
在窗体加载时,绑定控件的数据上下文为persons类的实例化对象p。
4.      <TextBox Text="{Binding Age}" Height="23" HorizontalAlignment="Left" Margin="79,130,0,0" Name="tb_age" VerticalAlignment="Top" Width="120" />
在Xaml中将控件的Binding属性,绑定到类属性。

写的不够形象,不理解的再找我讨论。

点评

谢谢回复,这是杨老师视频的例子吧,我找到思路了。  发表于 2014-5-12 21:53

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报
       恩     就是,我前几天  刚看过。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马