I'd recommend creating a property on this class that exposes the `DataContext` as a `VideoPlayerViewModel` that can be accessed anywhere in the class. That would avoid many of these casts from being necessary.

This is also a place where you could use `var viewModel = ...` instead of explicitly stating the type. I know it's been brought up before and it's extremely minor, but it's a stylistic choice we generally follow.