Bindung an ein usercontrol das Gegenteil einer bool-Eigenschaft
Ziemlich einfach: ich bin auf der Suche, dasselbe zu tun wie diese aber in winforms. Alles, was google scheint nach oben zu ziehen, ist die wpf-spezifischen (dh. Ich will nicht Referenz presentationframework.dll)
Erklärt, wenn Sie nicht Lesen wollen der link:
Folgende ist eine Darstellung der Absicht von dem, was ich gerne tun würde, obwohl es offensichtlich nicht funktioniert.
CheckBox1.DataBindings.Add(new Binding("Checked", this.object, "!SomeBool"));
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie zwei Möglichkeiten:
Binding
Objekt manuell, und fügen Sie an derFormat
undParse
Veranstaltungen und swap-Wert in jedem.Die erste option ist sauberer, IMO, da es nicht zwingen, Ihre Klasse API zu Folgen, UI-design, aber die zweite option ist (marginal) leichter.
Beispiel von Option 1
Beispiel von Option 2
Wieder, ich habe sehr viel Gunst option 1, da option 2 erfordert, dass Sie Ihre individuelle Klasse, um Ihre UI-design.
Basiert auf dem Adam ' s Antwort, schrieb ich eine kleine Helfer-Klasse:
Nun können Sie es wie folgt:
implicit operator
und ausgeklügelte it-Einsatz.Um dies zu tun, Id do eine readonly-Eigenschaft mit dem Namen
NotSomeBool
, in der gleichen Klasse, wo Sie haben die Eigenschaft, dieSomeBool
, und diese Eigenschaft binden statt.