Hello tout le monde

J'ai disons 3 views appelées view1, view2 et view3.

Dans ma MainView, je souhaite avoir l'une des 3 vues suivant une valeur de mon ViewModel.

J'ai donc bindé le Content de mon UserControl sur cette valeur via un converter.

En gros, cela donne pour le xaml:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    <toolbox:DiView.Resources>
        <help:SimulationParametersViewConverter x:Key="resSimulationParametersViewConveter" />
    </toolbox:DiView.Resources>
 
    <Grid Height="auto" Width="auto" x:Name="UiMainLayout" DataContext="{Binding View, Source={StaticResource resViewLocator}}">
         <UserControl x:Name="SimulationParametersView" Content="{Binding ViewModel.PricingTask.PayoffID, Converter={StaticResource 
    </Grid>
Et pour le converter:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class SimulationParametersViewConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        Int16 payoffID;
 
        if (value == null)
            return null;
 
        if (!Int16.TryParse(value.ToString(), out payoffID))
            return null;
 
        switch (payoffID)
        {
            case 1:     // sweet reverse
                return new Views.View1();
            case 14:    // autocall
                return new Views.View2();
            case 23:    // reverse convertible
                return new Views.View3();
            default:
                throw new ArgumentException("The current PayoffID doesn't exist");
                break;
        }
    }
}
Cela fonctionne comme je veux sauf que les differentes vues 1, 2 ou 3 ne sont pas détruites quand je switch de l'une à l'autre et ça me pose des problèmes de validation.

Comment faire pour réinitialiser le Content de mon UserControl entre chaque switch???

Merci