bonjour,
j'ai une classe test static avec une variable static, elle est de type booleenne. Comment puis je faire pour pour binder une checkbox à cette variable ?
Merci
bonjour,
j'ai une classe test static avec une variable static, elle est de type booleenne. Comment puis je faire pour pour binder une checkbox à cette variable ?
Merci
Salut,
J'ai envie de dire comme un Binding normal soit un truc comme ça :
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Binding bd = new Binding(); bd.Source = maClassStatic.monChampStatic; maCheckBox.SetBinding(CheckBox.IsCheckedProperty, bd);
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 static public class maClassStatic { static public bool monChampStatic { get; set; } }
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part <CheckBox IsChecked="{Binding Source={x:Static leNamespace:laClasse.leChamp}}">...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
pour info frédéric hamel propose un memo sur le binding (Google > Data Binding Quick Reference)
Attention, avec ce qui est indiqué dans le mémo, tu ne fais pas de binding... tu récupères la valeur au moment de l'initialisation du contrôle, mais si elle change par la suite, le contrôle ne se mettra pas à jour
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
evidement donc la solution c'est de mettre un constructeur prive a la classe
de coller un static dedans style
static readonly maclass default = new maclasse();
et de faire le binding sur le static default qui permet d'atteindre la classe construite
a l'ancienne quoi !!!!
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
tout a fait la classe serait un singleton et dans ce cas je n'ai pas d'utilite.
c'est vrai ceci etant quand tu creuse un peut .net 3.5 tu vois qu'il ont bcp utilise le principe pour cela
j'ai tenté de faire le test avec un membre static manifestement ca doit devnir du INotifyPropertyChanged qu'on peut pas mettre en static (ben normal quoi)
bon ben merci d'avoir chercher avec moi, je vais chercher une autre solution.
Je déterre ce message pour savoir si quelqu'un aurait trouver quelque chose depuis.
J'ai un problème similaire :
Je veux binder la propriété IsChecked d'un MenuItem sur une propriété statique, avec un mode TwoWay.
Betement, j'écris ca :
Mais à l'éxecution, il me sort une exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part IsCheckable="True" IsChecked="{Binding Source={x:Static local:MaClasse.MaPropriete}}"/>
La valeur 'System.Windows.Data.Binding' ne peut pas être attribuée à la propriété 'IsChecked' de l'objet 'System.Windows.Controls.MenuItem'. La liaison bidirectionnelle nécessite Path ou XPath.
Est ce qu'il y a une autre solution que de passer par un singleton ?
Je crois qu'une fois j'avais eu à faire ça, et j'avais trouvé une solution un peu crade, mais qui marchait : mettre comme source du binding une instance bidon de la classe, et l'utiliser comme source du binding :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <Window.Resources> <local:MaClasse x:Key="maClasse" /> </Window.Resources> ... <MenuItem IsChecked="{Binding Path=MaPropriete, Source={StaticResource maClasse}}" ...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Je suis preneur ! Effectivement, j'aurai espéré mieux...
mais à choisir entre coder la synchro à la main ou utiliser le binding avec une instance bidon, la flemme..euh non... ma volonté d'avoir un code épuré me pousse à choisir la seconde solution!![]()
Partager