.net中的自定义属性描述符

时间:2015-02-20 06:17:40

标签: c# wpf icustomtypedescriptor

我正在使用扩展wpf工具包中的PropertyGrid

需要实现属性网格的本地化。 为实现此目的,基类实现ICustomTypeDescriptor和另一个实现PropertyDescriptor的类。

我可以本地化属性网格。但是存在一个问题。

1)如果基类实现ICustomTypeDescriptor,并假设派生类具有与基类相同的属性名称(重写属性), 抛出异常。

BaseClass:

    [Category("Font")]
    [DisplayName("PROPGRID_FONTALIGN")]
    public virtual TextAlignment FontAlign
    {
        get
        {
            if (CrControl.FontAlign == "Left")
                return TextAlignment.Left;
            if (CrControl.FontAlign == "Right")
                return TextAlignment.Right;
            if (CrControl.FontAlign == "Center")
                return TextAlignment.Center;
            return TextAlignment.Justify;
        }
        set
        {
            CrControl.FontAlign = value.ToString();
            SetProperty(ref _fontAlign, value);
        }
    }

派生类:

    [Browsable(false)]
    public override TextAlignment FontAlign
    {
        get { return base.FontAlign; }
        set { base.FontAlign = value; }
    }

0 个答案:

没有答案