VS property v designeru   zodpovězená otázka

C#, Komponenty, Architektura

VS2012 Pro,

Dobrý den,

chtěl bych se zeptat zdali a jak lze dostat do designeru vlastnosti z vnořené třídy nastavovaného objektu.

Př.:

public class MujCtrl: Control
{
    public NastavovanyObject Obj;
}

V designeru jsou vidět vlastnosti třídy MujCtrl, já se ptám zdali lze zobrazit i NastavovanyObject ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jako aby se v PropertyGridu návrháře hierarchicky zobrazili členové třídy? Jde to, musí se vše potřebné označit příslušnými atributy. Už jsem to velmi dlouho nedělal, takže detaily nevím, ale odpíchnul bych se od atributu TypeConverterAttribute.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Děkuji za nasměrování.

    public class MainClass : Control
    {
        [Browsable(true)]
        public Empoyee Emp{ get; set; }
    }
    


    public class Person
    {
        public string FirstName { get; set; }
    }

    [TypeConverter(typeof(EmpoyeeConverter))]
    public class Empoyee : Person
    {
        public string LastName { get; set; }
    }

    public class EmpoyeeConverter : TypeConverter
    {

        public override bool GetPropertiesSupported(ITypeDescriptorContext context)
        {
            return true;
        }

        public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes)
        {
            return TypeDescriptor.GetProperties(typeof(Empoyee));
        }

    }

A ještě dopnění:

TypeConverter attribut nelze použít s generickým typem !

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback