Laden...

Designer PropertyGrid erweitern

Erstellt von Eul3nspiegel vor 3 Jahren Letzter Beitrag vor 3 Jahren 710 Views
E
Eul3nspiegel Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren
Designer PropertyGrid erweitern

Hallo zusammen,
ich bin Wiedereinsteiger was die Programmierung angeht. Meine ersten Erfahrungen hatte ich mit QBasic gemacht 😃 falls das jemand noch kennt.
Ich habe lange Zeit mit Borland C++ programmiert und bin jetzt nach einer genauso langen Pause bei C# gelandet.

Zu meinem kleinen Problem, welches mich allerdings bald in den Wahnsinn treibt.
Ich teste gerade die Funktionsweise von CustomCointrols.
Dabei möchte ich, dass mein CustomControl eine Klasse instanziiert und ich möchte die Properties dieser Klasse dann im PropertyGrid des Designers verändern können, wenn das Control verwendet wird.
Das ganze funktioniert auch mit einer WPF Anwendung mit dem net. Framework 4.7.2. Ich kann dort auf neu klicken, es wird ein Objekt angelegt und ich kann es bearbeiten.
Es funktioniert nicht mit .net Core 3.1, dort gibt es einfach nur eine Textbox im PropertyGrid . Ich habe auch schon einen eigenen TypeConverter ausprobiert, was allerdings unter Core 3.1 keine Änderung bring.

Ich habe ein Bild angehängt, dort kann man sehen wie es im Designer aussieht.
Weiß jemand wie ich das unter Core 3.1 zum laufen bekomme?



    public class CustomControl1 : Control
    {

        private TestClass tc = new TestClass();
        [Category("Editor")]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        //[TypeConverter(typeof(BorderAppearanceConverter))]
        public TestClass TC
        {
            get { return tc; }
            set { tc = value; }
        } 


        static CustomControl1()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl1), new FrameworkPropertyMetadata(typeof(CustomControl1)));
            

        }

        public CustomControl1()
        {
            TC = new TestClass();
        }

    }

    [TypeConverter(typeof(ExpandableObjectConverter))]
    public class TestClass 
    {

        public string Mystring { get; set; } = "Test";
        public int MYint { get; set; } = 33;

        public override string ToString()
        {
            return "...";
        }
    }


16.806 Beiträge seit 2008
vor 3 Jahren

Der Designer für WPF mit .NET Core ist noch nicht fertig.
Seit VS 2019 16.5 Preview 1 ist er in Visual Studio enthalten; muss aber aktiviert werden. Davor war er nur über einen externen Installer verfügbar.

Laut der Liste aus der Preview 1 sind User Controls auch noch nicht supported.

E
Eul3nspiegel Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren

Danke !
Das erklärt natürlich einiges. 👍