Finally, I've been able to resolve it. I think its a bit overkill but it worked.

I wasn't following MVVM. After I created a ViewModel and set that as default DataContext to View, it worked. When I tried to mix up with the ViewModel and View, eventhough it is supposed to work, it didn't.