Я сделал это в xaml ala Event Trigger. Если у кого-то есть какие-либо оптимизации для этого, то, конечно, пожалуйста, предложите прочь, я довольно зелен с этим.
UPDATE
... и это частично работает, за исключением того, что теперь ComboBox больше не открывается после того, как вы выбрали и элемент в дереве.
... xmlns:s="clr-namespace:System;assembly=mscorlib" ...
...
<ControlTemplate.Resources>
....
<Storyboard x:Key="ClosePopup"
Duration="0:0:0"
Storyboard.TargetName="PART_Popup"
Storyboard.TargetProperty="IsOpen" >
<ObjectAnimationUsingKeyFrames>
<DiscreteObjectKeyFrame KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<s:Boolean>False</s:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
...
</ControlTemplate.Resources>
...
<TreeView x:Name="PART_TreeView" ... >
...
<TreeView.Triggers>
<EventTrigger RoutedEvent="TreeView.SelectedItemChanged">
<EventTrigger.Actions>
...
<BeginStoryboard Storyboard="{StaticResource ClosePopup}"/>
</EventTrigger.Actions>
</EventTrigger>
</TreeView.Triggers>
...
</TreeView>
...