C# 使用Microsoft Expression Blend将CLR对象绑定到WPF控件
我有以下班级成员:C# 使用Microsoft Expression Blend将CLR对象绑定到WPF控件,c#,wpf,data-binding,expression-blend,binding,C#,Wpf,Data Binding,Expression Blend,Binding,我有以下班级成员: public class Person { public string Name { get { return name; } set { name = value; } } public string Nickname { get { return nickname; } set { nickname = value; } }
public class Person
{
public string Name
{
get { return name; }
set { name = value; }
}
public string Nickname
{
get { return nickname; }
set { nickname = value; }
}
private string nickname;
private string name;
public Person(DataRow row)
{
this.name = Convert.ToString(row["Name"]);
this.nickname = Convert.ToString(row["Nickname"]);
}
}
以及不同程序集中的另一个类PersonEditorFormController,其作用类似于WPF类PersonEditorForm.xaml的引擎:
public class PersonEditorFormController
{
public Person SelectedPerson
{
get { return person; }
set { person = value; }
}
private Person person;
public void GetPerson(string name)
{
try
{
Common.dbController.OpenConnection();
Common.dbController.BeginTransaction();
PersonController personController= new PersonController();
string[] fields = new string[] { "Name" };
string[] values = new string[] { name };
this.person = personController.GetPerson(fields, values);
Common.dbController.CommitTransaction();
}
catch (Exception ex)
{
throw ex;
}
finally
{
Common.dbController.CloseConnection();
}
}
}
PersonController是一个类,它提供了从数据库获取数据和构造person对象的方法
现在,PersonEditorForm.xaml有一个名为昵称文本框的文本框。我想使用Microsoft Expression Blend将此人的昵称绑定到其文本属性。我该怎么做
以下是我迄今为止所做的尝试(没有成功):
private void Window_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
PersonEditorFormController controller =
this.LayoutRoot.GetValue(Grid.DataContextProperty) as PersonEditorFormController;
controller.GetPerson("Some_name");
}
请帮忙。谢谢 您需要在两个类上实现
INotifyPropertyChanged
,并在任何属性更改时引发PropertyChanged
事件