Возможно, я не понимаю, что вы хотите, чтобы этот код делал.
Вы создали объект Customer, который реализует INotifyPropertyChanged. У вас есть другой класс, который является фабрикой для XAML, чтобы получить к экземпляру.
Теперь вы создаете экземпляр Customer с предопределенными свойствами. Вид отображает их. Если вы не измените свойства каким-либо образом, представление не будет обновлено.
Я добавил кнопку в ваш WPF View
<Button DockPanel.Dock="Bottom"
x:Name="UpdateTime"
Click="UpdateTime_Click">
Update Activity Timestamp
</Button>
C # код-позади:
private void UpdateTime_Click(object sender, RoutedEventArgs e)
{
Customer.GetCurrentCustomer().TimeOfMostRecentActivity = DateTime.Now;
}
Я также изменил тип клиента, чтобы создать отдельный экземпляр для текущего клиента
private static Customer _CurrentCustomer;
public static Customer GetCurrentCustomer()
{
if (null == _CurrentCustomer)
{
_CurrentCustomer = new Customer
{ FirstName = "Jim"
, LastName = "Smith"
, TimeOfMostRecentActivity = DateTime.Now
};
}
return _CurrentCustomer;
}
Теперь каждый раз, когда я нажимаю кнопку, свойство DateTime
изменяется, и представление автоматически обновляется благодаря механизму INotifyPropertyChanged
. Код, кажется, работает AFAISee.