kombinierte Enums im Xaml

  • WPF

    kombinierte Enums im Xaml

    ich hab eine AttachedProperty für ItemsControls gebastelt:

    VB.NET-Quellcode

    1. Public Class DragDrop
    2. Public Shared Function GetDragButton(ByVal obj As DependencyObject) As DragDropKeyStates
    3. Return DirectCast(obj.GetValue(DragButtonProperty), DragDropKeyStates)
    4. End Function
    5. Public Shared Sub SetDragButton(ByVal obj As DependencyObject, ByVal value As DragDropKeyStates)
    6. obj.SetValue(DragButtonProperty, value)
    7. End Sub
    8. Public Shared ReadOnly DragButtonProperty As DependencyProperty = DependencyProperty.RegisterAttached("DragButton", GetType(DragDropKeyStates), GetType(DragDrop), New UIPropertyMetadata(DragDropKeyStates.LeftMouseButton))
    9. '...
    Damit kann man im Xaml auch Kombinationen angeben:

    XML-Quellcode

    1. <ListBox my:DragDrop.DragButton="LeftMouseButton,RightMouseButton" />
    Problem ist der Xaml-Editor: Wenn ich bis zum Komma gekommen bin, und einen weiteren Eintrag aus Intellisense auswähle, dann fügt er die Auswahl nicht hinter das Komma, sondern ersetzt den ganzen bis dahin geschriebenen Eintrag durch die neue Auswahl.
    Die (ansonsten syntaktisch richtige) Zuweisung der Kombination beider Enum-Werte krieg ich nur mit Trickse rein, etwa mit Pasten des vorbereiteten Komplett-Ausdrucks aus der Zwischenablage.
    Gibts da eine Einstellung wo man dieses Editor-Verhalten verbessern kann?
    Also ich bin jetzt paar Tage dran gesessen, das so hinzukriegen, dass man mit dieser Kompakt-Syntax reichhaltige Einstellungen notieren kann - das wäre echt eine Verschlechterung, wenn ich das umbauen müsste, und dann müsste man da mehrzeilig herumkrepeln oder ein eigener TypConverter, bei dem dann die Intellisense nicht mehr die verfügbaren Optionen bereitstellen kann :(