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 :

Bouton avec "texte1 image et prix"


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut Bouton avec "texte1 image et prix"
    Bonjour,

    Je voudrais créé un type de bouton qui contiendra:

    Portable 119€

    Donc du texte, une image et puis un prix.

    Je devrais pouvoir créer dynamiquement des boutons contenant ce même type d'information en fonction de données qui se trouvent dans une DB.

    J'essaie pour l'instant de créer un UserControl avec:
    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
    <UserControl.Resources>
    	<Style x:Key="BoutonPrix" TargetType="Button">
    									<Rectangle Stroke="#FF6DBDD1" StrokeThickness="1" RadiusX="8" RadiusY="8">
    									</Rectangle>
    							<ContentPresenter x:Name="BoutonPrixContentPresenter" HorizontalAlignment="Center" Margin="0,8,0,0">
    								<Grid Width="216">
    									<Grid.ColumnDefinitions>
    										<ColumnDefinition Width="0.741*"/>
    										<ColumnDefinition Width="0.259*"/>
    									</Grid.ColumnDefinitions>
    									<TextBlock x:Name="txtblockLabel" Text="TextBlock" TextWrapping="Wrap" FontFamily="Verdana" FontSize="14.667"/>
    									<TextBlock x:Name="txtblockPrix" Grid.Column="1" Text="TextBlock" TextWrapping="Wrap" FontFamily="Verdana" FontSize="14.667"/>
    								</Grid>
    							</ContentPresenter>
    						</Grid>
    					</ControlTemplate>
    			</UserControl.Resources>
    J'ai fortement épuré le code ci-avant.

    Mon problème, c'est que je n'arrive pas à accéder aux txtblockLabel et txtblockPrix.

    Une idée ?

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Oula, tu fais bien compliqué.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Button Width="100" Height="50" >
        <Button.Content>
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="{Binding Name}" />
                <TextBlock Text="{Binding Price}" />
            </StackPanel>
        </Button.Content>
    </Button>

    J'ai pas mis l'image mais il suffit juste de l'ajouter.

    Un coup de binding et ton contrôle s'affiche comme il faut.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    pourquoi faire simple quand on peut faire compliqué...

    Ce que je n'ai pas dit, c'est que c'est déjà un user control qui doit lui-même acccepter 1 ou plusieurs boutons.

    Donc en fait, mon user control "categories" doit afficher un ou plusieurs boutons qui reprennent un texte, une image et un prix.

    Et dans mon code, c'est quand je trouve une catégorie que je crée un stackpanel "catégorie" et en fonction du nombre de détails que je trouve par catégorie, je dois créer un bouton (avec label , image et prix) par détail.

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu n'as qu'à mettre un ItemsControl bindé sur ta liste de "détails" et pour chaque Item tu affiches un bouton.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Par défaut
    Merci pour le code avec le binding.

    Cependant, mes boutons n'affichent rien du tout.

    Voici mon 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
    <UserControl x:Class="Gentry.BtnSkyounet"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Margin="0,0,0,8" Width="248" Height="88" >
     
        <Button x:Name="BtnSkyounet" Width="100" Height="50" >
            <Button.Content>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding VetLabel}" />
                    <TextBlock Text="{Binding VetPrix}" />
                </StackPanel>
            </Button.Content>
        </Button>
     
    </UserControl>
    et dans le code "appelant", j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For Each vet As Vetement In m_Categorie.Vetements
                    Dim b As New BtnSkyounet 'With {.Content = vet.VetLabel}
                    Dim myGrid As New Grid
     
                    Me.Body.Children.Add(b)
                    Me.Body.Height += b.Height
                    Me.LargeBody.Height += b.Height
                    Me.brdMain.Height += b.Height
                    Me.Height += b.Height
                Next
    Peut-être que je m'y prend mal ?

  6. #6
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Exemple :

    Code xml : 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
    <UserControl x:Class="Gentry.BtnSkyounet"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Margin="0,0,0,8" Width="248" Height="88" >
        <ItemsControl x:Name="vetements">
        <ItemsControl.ItemTemplate>
        <DataTemplate>
        <Button x:Name="BtnSkyounet" Width="100" Height="50" >
            <Button.Content>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding VetLabel}" />
                    <TextBlock Text="{Binding VetPrix}" />
                </StackPanel>
            </Button.Content>
        </Button>
        </DataTemplate>
        </ItemsControl.ItemTemplate>
        </ItemsControl>
    </UserControl>

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    vetements.ItemsSource =  m_Categorie.Vetements;

    XAML non testé y'a ptet une erreur de frappe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. bouton avec seulement une image visible
    Par kronoss dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 19/05/2010, 12h10
  2. Bouton avec texte ET image
    Par petitours dans le forum IHM
    Réponses: 7
    Dernier message: 02/10/2007, 19h40
  3. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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