Zwei Klassen gleichzeitig in einem PropertyGrid anzeigen



  • Hallo,

    ich habe zwei Klassen, die Parameter beinhalten und in einem
    PropertyGrid eingestellt werden koennen. Diese 2 Klassen werden
    fuer unterschiedliche Zwecke benutzt.

    Das PropertyGrid kann jedoch nur ein Objekt einer Klasse mittels
    PropertyGrid.SelectedObject anzeigen.

    Ich suche seit einer Weile nach einer Moeglichkeit, zwei Instanzen
    unterschiedlicher Klassen im PropertyGrid anzuzeigen. Die Trennung
    der beiden Objekte wuerde dabei im PropertyGrid durch die Kategorie-
    Angabe durchgefuehrt werden.

    PropertyGrid.SelectedObjects ist dabei jedoch nicht die Loesung, es
    zeigt nur den kleinsten gemeinsamen Nenner der Parameter an.

    Wahrscheinlich laesst es sich auf der Klassen- und nicht auf der
    PropertyGrid-Ebene loesen: Ich vermisse z. B. die Moeglichkeit in C#,
    Klassen "temporaer" zusammenzufassen, wie ich sie z. B. in C++ hatte:

    // Diese Beiden Klassen im PG zusammenfassen:
    class ParameterA { /* ein paar Eigenschaften */}
    class ParameterB { /* ein paar andere Eigenschaften */ }
    
    class SomeClass<class A, class B> : public A, public B {}
    
    // In Main:
    SomeClass<ParameterA, ParameterB> obj; 
    PropertyGrid.SelectedObject = obj;
    

    Das ist in C# leider nicht moeglich.

    Hat jemand eine Idee? 🙂



  • Die C++ Variante würde Dich auch nicht weiterbringen. Bau einen Wrapper der die gewünschten Eigenschaften hat und map sie in die intern gehaltene Klasse A und Klasse B



  • Ein Wrapper wuerde mich leider nicht weiterbringen, es gibst zu viele Klassen, die ich zusammenfassen muss. Ich muesste fuer jede denkbare Kombination einen Wrapper schreiben muessen...



  • Das klingt jetzt aber eher nach fehlerhaftem Model/fehlerhaftes UI-Design. Vllt schreibst du uns was du machen willst, dann können wir evtl. Alternativen bieten.


Anmelden zum Antworten