Bonjour
j'essaye de realiser un control avec plusieurs mode ( edition, visualisation, recherche...).
Le principe est le même que le dataform, c'est a dire que l'on peut définir un template pour chaque mode.

Je définis dans le généric.xaml de mon control le template de cette manière
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
 
<Style TargetType="custom:FormulaireEtat">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="custom:FormulaireEtat">
                <Grid> 
                <ContentControl x:Name="TemplateVisualisation" Visibility="Visible">
                   <!-- mon template -->
                </ContentControl>
 
                <ContentControl x:Name="TemplateVisualisation" Visibility="Collapsed">
                      <!--mon template -->
                </ContentControl>
                </Grid>
.....
Je définis ensuite un evenement qui appel cette fonction

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
 
 void ButtonEdit_Click(object sender, RoutedEventArgs e)
 {
  ContentControl visualisation = this.GetTemplateChild(FormulaireEtat.CONST_TemplateVisualisation) as ContentControl;
  ContentControl edition = this.GetTemplateChild(FormulaireEtat.CONST_TemplateEdition) as ContentControl;
 
      if (visualisation != null)
      {
          if (edition != null)
          {
             visualisation.Visibility = Visibility.Collapsed;
             edition.Visibility = Visibility.Visible;
 
          }
       }
}
Le probème c'est que ca ne fonctionne pas:
Erreur*: Unhandled Error in Silverlight Application
Code: 2210
Category: RuntimeError
Message: AG_E_INVALID_ARGUMENT
MethodName:
Fichier Source*: http://localhost:1262/SL_FormulaireTestPage.aspx
Ligne*: 56
(Erreur interprété par le navigateur, visual studio ne bronche pas)
J'ai regardé le code du dataform, mais il est malheuresement beaucoup trop concequent et j'arrive pas a comprendre à quel moment ils font le changement de vue pour les divers mode.
Je ne sais pas donc comment faire, et ma methode ne semble pas marcher.
Avez vous des pistes?
Merci!