private void listView_MouseDoubleClick(object sender, MouseButtonEventArgs e) { // navigate to the list view item DependencyObject dep = (DependencyObject)e.OriginalSource; while ((dep != null) && !(dep is ListViewItem)) { dep = VisualTreeHelper.GetParent(dep); } if (dep == null) { return; } ListViewItem item = (ListViewItem)dep; EmailModel myDataObject = (EmailModel)item.Content; Dispatcher.BeginInvoke(new Action(() => { var emailContentWindow = new EmailContent(myDataObject); emailContentWindow.Show(); })); }