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

Silverlight Discussion :

Timeline et Effect sur ItemTemplate


Sujet :

Silverlight

  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 54
    Par défaut Timeline et Effect sur ItemTemplate
    Bonjour,

    voila j'aimerais savoir comment je peux appliquer un visualState a tout les items de ma liste.

    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<ItemTemplate>
    <StackPanel x:Name="stackPanel" Width="170" Height="200" Margin="10,0,0,0">
                            		 <Image x:Name="image" Height="171" Width="170" HorizontalAlignment="Center"  Stretch="Uniform" VerticalAlignment="Top" Source="{Binding Image,Converter={StaticResource ByteArrayToImageConverter}}" MouseEnter="image_MouseEnter"   />
    								<TextBlock Margin="4,10,0,0" Text="{Binding Biometric}"/>
     </StackPanel>
     
    </ItemTemplate>

    Ce que je veux faire est simple je veux qu'au moment ou l'utilisateur passe sa souris au dessus de l'image une loupe apparaisse et que l'image devienne un peu plus transparente pour faire ressortir cette loupe.

    J'arrive tres bien a le faire sur un control mais pas sur un control qui se trouve dans une liste car je ne sais pas comment passer le x:Name ou autre identifiant, chose qui me permettrait d'identifier ce controle Image.

    Voila si quelqu'un a la solution je suis tout ouie.

    Merci

  2. #2
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Le plus simple serait sans doute de modifier le template de base d'un bouton sous blend pour creer un nouveau style prenant en compte le VisualState que tu souhaites. Le template de ton Bouton ne doit contenir qu'un ContentPresenter et ton VisualState qui le modifie. Puis tu peux l'appeler comme ça :

    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ItemTemplate>
        <DataTemplate>
    <StackPanel x:Name="stackPanel" Width="170" Height="200" Margin="10,0,0,0">
           <Button Style="{StaticResource ButtonImageStyle}">
                            		 <Image x:Name="image" Height="171" Width="170" HorizontalAlignment="Center"  Stretch="Uniform" VerticalAlignment="Top" Source="{Binding Image,Converter={StaticResource ByteArrayToImageConverter}}"    />
             </Button>
    								<TextBlock Margin="4,10,0,0" Text="{Binding Biometric}"/>
     </StackPanel>         
        </DataTemplate>
    </ItemTemplate>

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 54
    Par défaut
    Merci pour ta reponse Samuel,

    entre temps j'ai trouve un autre moyen de le faire en creant un userControl,

    mais j'aurais aime savoir comment tu aurais fait avec ta solution pour ne pas l'appliquer a tout les boutons.

    Merci,

  4. #4
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Tout d'abord l'idée du bouton n'est peut être pas la meilleur, c'était juste pour illustrer rapidement ton problème . Il faudrait sans doute mieux utiliser un ContentControl.

    Pour activer desactiver certaine partie, j'aurais binder sur un boolean de ton ViewModel la propriété IsEnabled du bouton / ContentControl.

    Code XAML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <Button Style="{StaticResource ButtonImageStyle}" IsEnabled="{Binding EstDesactive}">
    <!-- ... -->
    </Button>

    C'est la solution la plus élégante à mon avis.

    Mais il y a parfois des cas ou il est nécessaire de parcourir les items générés par le ListBox. On peut utiliser alors la propriété ItemContainerGenerator du ListBox. Cela renvoit le ListBoxItem généré par le ListBox. Tu peux alors grâce a la classe VisualTreeHelper recupérer les UIElements qui t'intéressent.

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/02/2010, 12h26
  2. Réponses: 4
    Dernier message: 14/09/2009, 10h19
  3. Datagrid Effects sur MAJ
    Par potesy dans le forum MXML
    Réponses: 1
    Dernier message: 23/06/2009, 09h44
  4. Réponses: 3
    Dernier message: 26/02/2008, 15h01
  5. Réponses: 4
    Dernier message: 09/05/2003, 16h20

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