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 :

Binding et DependencyProperties dans un UserControl


Sujet :

Windows Presentation Foundation

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Novembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Binding et DependencyProperties dans un UserControl
    Bonjour (et bonne année à tous),

    Je ne suis pas encore très à l'aise avec les DependencyProperties, et j'essaie de créer un UserControl qui contrôle (!) l'affichage de plusieurs objets graphiques.
    L'idée est d'envoyer une String de 0 ou de 1 (autant que d'objets à contrôler) à un contrôle composé de CheckBox (autant que d'objets aussi), mais je n'arrive pas à binder chaque caractère sur les propriétés "IsCheched" des CheckBox.

    Le code actuel fonctionne; J'envoie un seul Booleen depuis la couche Vue-modèle à mon contrôle via une DependencyProperty, et la propriété IsChecked de la CheckBox correspondante est bien bindée.
    Mais je ne sais pas comment remplacer le booléen par une String via la DependencyProperty, la décomposer en caractères, puis les convertir pour binder les "IsChecked" de mes CheckBox...

    Voici mon code (de débutant...):

    Couche Vue-modèle:

    Namespace VueModele
    Public Class VueMod

    Private Temp As Boolean = True

    Public Property BVisib As Boolean
    Get
    Return (Temp)
    End Get
    Set(value As Boolean)
    MessageBox.Show("DEBUG: Modif de visibilité 3D: " & value.ToString)
    Temp = value
    End Set
    End Property

    End Class
    End
    Namespace


    Le XAML du UserControl:

    <CheckBox Name="TopRP" Grid.Column="1" Grid.Row="3" IsChecked="{Binding ElementName=Ctl_Visib3D_xaml, Path=Visib}"/>
    <CheckBox Name="TopAP" Grid.Column="1" Grid.Row="4"/>


    et le code-behind du contrôle:

    Public Shared ReadOnly VisibProperty As DependencyProperty = DependencyProperty.Register("Visib", GetType(Boolean), GetType(Ctl_Visib3D))
    Public Property Visib As Boolean
    Get
    Return (CBool(GetValue(VisibProperty)))
    End Get
    Set(value As Boolean)
    SetValue(VisibProperty, value)
    End Set
    End Property


    Quelqu'un a une idée ?
    Merci d'avance.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 150
    Points : 25 066
    Points
    25 066
    Par défaut
    on peut avoir une idée du rendu souhaité ?
    et quelle est la source de données ?

    parce qu'à vu de nez un itemscontrol avec un datatemplate de type checkbox devrait convenir (avec une classe ayant un libellé et un booléen)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Novembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Oui, mon appli affiche un groupe de GeometryModel3D regroupés dans un Model3DCollection.
    Ces objets n'ayant pas de propriété de visibilité, j'affecte le Material à Nothing pour les masquer.
    J'ai donc créé un UserControl composé de CheckBox (une par modèle 3D) afin de masquer/afficher le modèle 3D.

    Je pensais pouvoir passer une chaine de "0" ou "1", que je décompose pour affecter chacune des CheckBox...

    Mais j'ai peut-être un peu dépassé mes connaissances en termes de DependencyProperty et/ou des possibilités du framework...

Discussions similaires

  1. Binding sur textbox dans usercontrol
    Par davidpl dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 07/11/2014, 13h17
  2. Arrêt binding après modification de la DependencyProperty dans le code
    Par julienhd dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 16/07/2012, 22h10
  3. DependencyProperty "Command" dans un Usercontrol
    Par distil dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 12/04/2012, 16h50
  4. Problème d'initialisation d'une DependencyProperty dans un UserControl
    Par seiryujay dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 30/10/2008, 15h46
  5. [WPF] Probléme de binding dans un UserControl :(
    Par UNi[FR] dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 17/07/2008, 16h51

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