An alternative to the Observer pattern is the native C# event system. One of the significant advantages of this event system is that it's more granular than the Observer pattern because objects can listen to specific events that another emits, instead of getting a general notification from a subject.
A native event system should always be considered if you need to have components interact through events, especially if you don't need to establish a specific relationship between them.