DataTemplate condicional

Esto es lo que estoy tratando de hacer. Tengo 2 plantillas de datos definidas que se refieren a un control de usuario diferente.

<UserControl.Resources>
    <DataTemplate x:Key="myDataTemplate1">
        <Border BorderBrush="Black" BorderThickness="1">
            <myUserControl1 />
        </Border>
    </DataTemplate>
    <DataTemplate x:Key="myDataTemplate2">
            <Border BorderBrush="Black" BorderThickness="1">
                <myUserControl2/>
            </Border>
    </DataTemplate>
</UserControl.Resources>

Estoy usando estas plantillas de datos para mostrar una lista de elementos usando ItemsControl de esta manera:

<ItemsControl x:Name="myItemList" ItemTemplate="{StaticResource myDataTemplate1}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate />
    </ItemsControl.ItemsPanel>
</ItemsControl>

Me gustaría que ItemTemplate sea condicionalmente myDataTemplate1 o myDataTemplate1, dependiendo de que el valor de una variable entera sea 1 o 2 respectivamente.

¿Debo usar DataTriggers para esto o hay otra forma de hacerlo? Agradezco la ayuda.

Respuestas a la pregunta(2)

Su respuesta a la pregunta