我正在使用扩展 wpf 工具包中的PropertyGrid。
需要实现属性网格的本地化。为了实现这一点,一个基类实现ICustomTypeDescriptor
,另一个类实现PropertyDescriptor
。
我能够本地化属性网格。但是有一个相关的问题。
1)如果基类实现了ICustomTypeDescriptor
,并且假设派生类具有与基类相同的属性名称(被覆盖的属性),则抛出异常。
基类:
[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; }
}