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 :

Liaison entre value et text d'une texbox au sein d'un template


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut Liaison entre value et text d'une texbox au sein d'un template
    Bonjour,

    je suis en train de réaliser un template pour un contrôle slider Au niveau du template du thumb je désire intégrer un textbox dans lequel sera afficher la propriété "value" du slider
    Si j'utilise l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBox Texte="{templateBinding Value}"/>
    cela ne fonctionne pas
    Dois je utliser un dynamicResource ou un dataBinding

    Pourriez-vous m'expliquer ?
    par avance merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par TERRIBLE Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <TextBox Texte="{templateBinding Value}"/>
    je crois qu'on écrit TemplateBinding et pas templateBinding; peut être que c'est la cause de ton problème.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut
    Non même en corrigeant cela ne fonctionne pas

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Tu réalises un simple Template ou tu fais un Custom Control ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut
    Je fais un simple template

  6. #6
    Invité
    Invité(e)
    Par défaut
    Renseigne la propriété Datacontext de ton textbox en lui assignant la valeur le nom de ton slider. Ou ajouté ElementName=nom_du_slider dans l'expression du binding.

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par h2s84 Voir le message
    Renseigne la propriété Datacontext de ton textbox en lui assignant la valeur le nom de ton slider.
    Je vois pas ce que cela va changer, au niveau de ton ControlTemplate...

    Ou ajouté ElementName=nom_du_slider dans l'expression du binding.
    Etant donné qu'il essaye de définir le Visual Tree de son slide avec un ControlTemplate, cela ne sert à rien de faire ca...

    @TERRIBLE: Tu peux nous mettre ton code exact (celui de ton template) ?

  8. #8
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Facile:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type Slider}}, Path=Value}"
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut
    voici mon code j'ai remplacé le textbox par un label en pensant que cela iraitmieux, mais en vain
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <Window x:Class="slider11.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="300" Width="300">
        <Canvas>
            <Slider Name="rr"  Width="200" Height="50" Background="Blue">
     
                <Slider.Template>
                    <ControlTemplate TargetType="{x:Type Slider}" >
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto"/>
                            </Grid.RowDefinitions>
                            <TickBar Grid.Row="0" Name="TopTick"
                               SnapsToDevicePixels="True"  Placement="Top" Fill="Red"  Height="4" Visibility="Collapsed" />
                               <Border Name="TrackBackground"
                                 Margin="0"  CornerRadius="2"   Height="4" Grid.Row="1"  Background="Blue"   BorderBrush="Green"   BorderThickness="1" />
                            <Track 
                                Height="{TemplateBinding Height}"
                                Grid.Row="1" Name="PART_Track">
                                <Track.DecreaseRepeatButton>
                                    <RepeatButton>
                                        <RepeatButton.Template>
                                            <ControlTemplate TargetType="{x:Type RepeatButton}">
                                                <Border Background="Transparent"/>
                                            </ControlTemplate>
                                        </RepeatButton.Template>
                                    </RepeatButton>
                                </Track.DecreaseRepeatButton>
                                <Track.Thumb>
                                    <Thumb>
                                        <Thumb.Template>
                                            <ControlTemplate >
                                                <Grid>
     
                                                    <Ellipse Width="25" Height="30" Fill="Red"></Ellipse>
                                                    <Label Width="50" Height="10" Background="Aqua" Content ="{Binding ElementName=rr , Path=Value}" />
     
     
                                                </Grid>
     
     
     
     
                                            </ControlTemplate>
                                        </Thumb.Template>
                                    </Thumb>
                                </Track.Thumb>
                                <Track.IncreaseRepeatButton>
                                    <RepeatButton Command="Slider.IncreaseLarge">
                                        <RepeatButton.Template>
                                            <ControlTemplate>
                                                <Border Background="Transparent"/>
                                            </ControlTemplate>
                                        </RepeatButton.Template>
                                    </RepeatButton> 
     
     
                                </Track.IncreaseRepeatButton>
     
                            </Track>
     
     
                        </Grid>
     
     
                    </ControlTemplate>
                </Slider.Template>
            </Slider>
            <TextBox Width="20" Height="20" Canvas.Top="100">
                <TextBox.Text>
                   <Binding ElementName="rr" Path="Value" />
                </TextBox.Text>
            </TextBox>
        </Canvas>
    </Window>

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 26/05/2015, 16h11
  2. [AC-2003] différence entre .Value et .Text
    Par willytito dans le forum VBA Access
    Réponses: 4
    Dernier message: 28/10/2011, 11h49
  3. Ecrire du texte dans une texbox WPF, ouvert depuis une fenetre winform
    Par ThitoO dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 20/09/2010, 15h05
  4. Probleme de liaison entre une requete et un objet...
    Par actibluelevrai dans le forum Access
    Réponses: 4
    Dernier message: 20/11/2005, 20h26
  5. Opérer une liaison entre 2 DBLookup
    Par pey dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 10h11

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