当另一个属性更改时,wpf绑定更新

时间:2018-12-27 06:34:59

标签: wpf data-binding

我有一个文本框

    <TextBox x:Name="tbHuman" Text="{Binding FullName, Mode=OneWay}" />

还有两个班级

    public class Human
    {
    public string Name {get; set;}
    public string SecondName {get; set;}
    }

    public class Employee
    {
    public Human human {get; set;}
    public FullName {get {return human.Name + " " + human.SecondName;}}
    }

这是我窗口的代码

    public partial class WindowEmployee : Window
    {
       private Employee employee = new Employee();

       public WindowEmployee()
       {
          InitializeComponent(); 
          DataContext = employee;
       }
    }

然后,我想在其他地方设置人的财产,并填充我的文本框,但是它无法正常工作。

仅当我在为窗口设置DataContex之前使用它时,它才起作用

    InitializeComponent(); 
    employee.human = somehuman;
    DataContext = employee;

或者设置后是否使用强制更新

    employee.human = somehuman;        
    tbHuman.GetBindingExpression(TextBox.TextProperty).UpdateTarget();

还有其他解决方法可以使更新不费力吗?

0 个答案:

没有答案