WPF: Frage: MarkupExtension,DependencyObject,Converter
-
Hallo Leute,
ich möchste in WPF mit einer "Erweiterung" best. Eigenschaften von WPF Elementen verändern! Bei der Erweiterung handelt es sich um eine eigens. vorhanden UserManagement Komponente! Diese Komponente wird als statische Singelton imp0lementiert: (Pseudo)
var management = UserManagement.GetSingeltonInstanz: var hasRight= management.HasUserRight("ChangeFoo"); maagement.OnUserChange+=(s,e)=>{ /* usr Change *(
Es gibt also rechte (als string definiert) die vom akutellen user vorhanden sind oder nicht, zudem ein Event, wenn sich der user ändert, und so sich das recht entsprechend ändern kann.
Nun kann ich ein MarkupExtensiomn entwerfen, der ich im Konstruktor das userrecht mitgebe, und ein bool zurück bekomme: (pseudo)
<Button IsEnabled="{foo:UserManagementExtension MyUserRight}" {}>
Schön und gut, aber nun möchste ich das "MyUserRight" nicht fix im Code haben, sondern auch über ein Binding beziehen können, und genau da is der Knackpunkt!? Wie kann ich das machen, so das ich ungefähr sowa machen kann :
<Button IsEnabled="{foo:UserManagementExtension Binding=MyUserRightProp}" {}>
so das MyUserRightProp ein Property im ViewModel ist!
Irgendwelche vorschläge?
Grüße und Guten Morgen:)
-
Müsste das nicht
{Binding Path=MyUserRightProp}
sein?
-
Also das ich der markupextension ein Bindung Objekt übergebe aber wie mach ich das? Da die markupextension nich von dependencyobjekt erbt, kann ich da auch kein dependencyproperty anlegen.. Das is mein Problem!?
Lösung?