You can set DataTrigger for the HierarchicalDataTemplate and have different property binding. Just an example below. Please check this earlier answer in this thread just in case you need more ideas.
<HierarchicalDataTemplate DataType="{x:Type local:Person}" ItemsSource="{Binding People}" >
<Grid>
<TextBlock x:Name="fName" Text="{Binding FirstName}"/>
<TextBlock x:Name="lName" Text="{Binding LastName}" Visibility="Collapsed"/>
</Grid>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding State}" Value="A">
<Setter TargetName="fName" Property="Visibility" Value="Collapsed"/>
<Setter TargetName="lName" Property="Visibility" Value="Visible"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>