PropertyGrid将泛型类型更改为特定类型



所以我有两个对象有两种不同的类型。第一个是ItemTypes类型,称为Type,第二个是Type类型,称为SubType

我想完成的是当我改变我的ItemType属性时,我需要我的SubType属性改变为我拥有的许多不同类型(ConsumableSubType, ContainerSubType等)之一

下面是我的两个属性的代码和一些属性网格的注释。

    [RefreshProperties(System.ComponentModel.RefreshProperties.All)]
    [TypeConverter(typeof(EnumConverter))]
    [DisplayName("Type")]
    [XmlIgnore]
    public ItemTypes _Type
    {
        get { return Type; }
        set
        {
            Type = value;
            //Do some logic in here to set _SubType to a different type
        }
    }
    [TypeConverter(typeof(EnumConverter))]
    [DisplayName("Sub Type")]
    [XmlIgnore]
    public Type _SubType { get; set; }

不能在运行时更改属性的类型。但是,您可以将其设置为object,然后为其分配任何您喜欢的值。

相关内容

  • 没有找到相关文章

最新更新