Я смог решить эту проблему (используя несколько триггеров) с помощью статического ресурса, который заставил каждый элемент управления «свернуть», а затем с помощью отдельных «DataTriggers» внутри каждого элемента управления, где соответствующее значение перечисления делает видимость «видимой».
См. Ниже (я использовал холст в этом примере):
<Grid>
<Grid.Resources>
<Style x:Key="CanvasStyle">
<Setter Property="Canvas.Visibility" Value="Collapsed"/>
</Style>
</Grid.Resources>
<ComboBox IsSynchronizedWithCurrentItem="True" Height="23" HorizontalAlignment="Left" Margin="12,12,0,0" Name="comboBox1" VerticalAlignment="Top" Width="153" ItemsSource="{Binding IDs}" MaxDropDownHeight="75" SelectedValue="{Binding SelectedValue}"/>
<StackPanel Height="128" HorizontalAlignment="Left" Orientation="Horizontal">
<Canvas Height="100" Name="canvas1" Width="100" Background="#FFC70D0D">
<Canvas.Style>
<Style BasedOn="{StaticResource CanvasStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="A">
<Setter Property="Canvas.Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Canvas.Style>
</Canvas>
<Canvas Background="#FF63C70D" Height="100" Name="canvas2" Width="100">
<Canvas.Style>
<Style BasedOn="{StaticResource CanvasStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="B">
<Setter Property="Canvas.Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Canvas.Style>
</Canvas>
<Canvas Background="#FF0D55C7" Height="100" Name="canvas3" Width="100">
<Canvas.Style>
<Style BasedOn="{StaticResource CanvasStyle}">
<Style.Triggers>
<DataTrigger Binding="{Binding Type}" Value="C">
<Setter Property="Canvas.Visibility" Value="Visible" />
</DataTrigger>
</Style.Triggers>
</Style>
</Canvas.Style>
</Canvas>
</StackPanel>
</Grid>