You are retrieving the SelectedItem property from 'treeviewitem' instead of the TreeView itself. I'm surprised this doesn't throw a compile error.
Try this:
private void treeView1_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
TreeViewItem theSelectedItem = treeView1.SelectedItem as TreeViewItem;
MessageBox.Show(theSelectedItem.ToString());
}