1. For animations to work properly, they have to run in a seperate Thread.
2. That is simply change Notification. Just implement INotifyPropertyChanged and fire the ChangeNotification as here:
Once you have implemented it, the binding engine will register an "PropertyChangeEventHandler". This old Interace (since .NET 2.0) is the easiest way to make your properties binding-capable.