I kind of cheated by manually setting my contextMenu's datacontext to the same one the mainwindow was using by creating an event handler for the ContextMenu's "Opened" event.
Here's the code from MainWindow.xaml.cs:
private void ContextMenu_Opened(object sender, System.Windows.RoutedEventArgs e)
{
ContextMenu menu = sender as ContextMenu;
menu.DataContext = DataContext;
}