IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

HierarchicalDataTemplate, est-ce la bonne solution


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 143
    Points : 59
    Points
    59
    Par défaut HierarchicalDataTemplate, est-ce la bonne solution
    Bonjour,
    je souhaiterais avoir un retour par rapport à mon utilisation du HierarchicalDataTemplate. Celui-ci s'applique à des Items qui peuvent eux-même contenir d'autres Items, tous les Items étant du même type.
    Voici le code:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <HierarchicalDataTemplate DataType="{x:Type local1:NewMenuActionItem}" ItemsSource="{Binding}">
            <Grid>
                <WrapPanel x:Name="ActionToolBarButton" HorizontalAlignment="Stretch" Visibility="Collapsed" Cursor="Hand">
                    <local2:ButtonToolBar Header="{Binding Path=Text}" Command="{Binding}" >
                    </local2:ButtonToolBar>
                </WrapPanel>
                <WrapPanel x:Name="ActionToolBarMenu" VerticalAlignment="Center" Visibility="Collapsed">
                    <Menu Background="Transparent" VerticalAlignment="Center">
                        <MenuItem ToolTip="{Binding Path=Text}" ItemsSource="{Binding}" Cursor="Hand">
                            <MenuItem.Header>
                                <Image Width="16" Height="16" Source="{Binding Path=ImageSource}"/>
                            </MenuItem.Header>
                        </MenuItem>
                    </Menu>
                </WrapPanel>
                <WrapPanel x:Name="ActionCustomToolBar" Visibility="Collapsed">
                    <local2:CustomToolBar Header="{Binding Path=Text}" ItemsSource="{Binding}"/>
                </WrapPanel>
                <WrapPanel x:Name="ActionToolBarMenuItem" Visibility="Collapsed">
                    <MenuItem Header="{Binding Path=Text}" Command="{Binding}"/>
                </WrapPanel>
            </Grid>
     
            <HierarchicalDataTemplate.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding HasItems}" Value="false"/>
                        <Condition Binding="{Binding HasImage}" Value="false"/>   
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Visibility" TargetName="ActionToolBarMenuItem" Value="Visible"/>
                </MultiDataTrigger> 
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding HasItems}" Value="true"/>
                        <Condition Binding="{Binding HasImage}" Value="false"/>
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Visibility" TargetName="ActionCustomToolBar" Value="Visible"/>
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding HasItems}" Value="false"/>
                        <Condition Binding="{Binding HasImage}" Value="true"/>
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Visibility" TargetName="ActionToolBarButton" Value="Visible"/>
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding HasItems}" Value="true"/>
                        <Condition Binding="{Binding HasImage}" Value="true"/>
                    </MultiDataTrigger.Conditions>
                    <Setter Property="Visibility" TargetName="ActionToolBarMenu" Value="Visible"/>
                </MultiDataTrigger>
            </HierarchicalDataTemplate.Triggers>
        </HierarchicalDataTemplate>
    Je n'affiche donc que la partie du Grid qui correspond à ce que je veux mais est-ce la bonne solution, ou plutôt cette solution n'est-elle pas trop gourmande? En effet, ma façon de faire n'oblige-t-elle pas l'application à avoir les 4 WrapPanels en mémoire?

    J'aimerais avoir votre avis la-dessus car je ne suis pas sûre de moi, même si je n'ai pas trouvé d'autre solution pour l'instant.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par ludogoal Voir le message
    ma façon de faire n'oblige-t-elle pas l'application à avoir les 4 WrapPanels en mémoire?
    Si car sinon, au moment de ton trigger, il ne serait pas capable de travailler. Mais en même temps, je ne vois pas d'autre idées.......

Discussions similaires

  1. Ca marche mais est-ce la bonne solution ?
    Par l ours blanc dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 09/12/2011, 13h52
  2. Mon dataset est-il la bonne solution?
    Par Tommy57 dans le forum ASP.NET
    Réponses: 0
    Dernier message: 05/07/2010, 23h45
  3. la police qui s'affiche n'est pas la bonne
    Par tiboleo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 13/07/2005, 13h22
  4. [Débutant] Bonne solution ?
    Par Machjaghjolu dans le forum Débuter
    Réponses: 23
    Dernier message: 17/09/2004, 09h51
  5. [EJB2.1 Entity] [CMP] Est-ce la bonne méthode ?
    Par stailer dans le forum Java EE
    Réponses: 8
    Dernier message: 20/06/2004, 19h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo