private void TwitterButton_Click(object sender, RoutedEventArgs e) { FrameworkElement b = (FrameworkElement)sender; if (b?.DataContext == null) { throw new ArgumentException("Unknown Twitter Button DataContext binding, it is not bound (null)."); } else if (b.DataContext is Team t) { splatTagController.TryLaunchAddress(t.TwitterProfiles.FirstOrDefault()?.Uri?.AbsoluteUri); } else if (b.DataContext is Player p) { splatTagController.TryLaunchAddress(p.TwitterProfiles.FirstOrDefault()?.Uri?.AbsoluteUri); } else if (b.DataContext is Social s) { splatTagController.TryLaunchAddress(s.Uri?.AbsoluteUri); } else { throw new ArgumentException("Unknown Twitter Button DataContext binding: " + b.DataContext); } }