您好,我知道这可能被标记为重复项,也可能不会被标记为重复项,但是我试图使对象列表显示为属性网格中存在的可扩展对象。
我有两个SodeAttribute类:
public class SodeAttribute
{
/// <summary>
/// Name of attribute
/// </summary>
public string Name { get; set; }
/// <summary>
/// Value of attribute
/// </summary>
public string Value { get; set; }
}
和一个SodeElement类:
public class SodeElement
{
//[Browsable(false)]
/// <summary>
/// Type of sode element
/// </summary>
public string Type { get; set; }
/// <summary>
/// List of Sode Attributes
/// </summary>
public List<SodeAttribute> SodeAttributes = new List<SodeAttribute>();
/// <summary>
/// List of Sode Elements
/// </summary>
public List<SodeElement> ChildElements = new List<SodeElement>();
}
,其中包含SodeAttributes列表和SodeElements列表。这基本上代表了这样的XML结构:
<SimObject Name="Wind Sock">
<Placement Lat="47.1821" Lon="7.4188" Alt="0#AGL" Hdg="0.0"/>
<Model SimTitle="12bPilot_SODE_Windsock_Slow">
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="0-14"/>
</Model>
<Model SimTitle="12bPilot_SODE_Windsock_Medium_Speed">
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="15-28"/>
</Model>
<Model SimTitle="12bPilot_SODE_Windsock_Fast">
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="29-60"/>
</Model>
</SimObject>
其中XML的属性作为SodeAttribute对象存储在Sode属性的列表中,而根SimObject的任何子元素都存储在SodeElements列表中,例如和和子元素
因此在此XML中,SodeElement具有3个子SodeElement和1个Sode属性。
例如,我会将SimObject的任何子元素(例如Model)显示为ExpandableObject,并将任何属性显示为该可扩展对象中的属性,并将该模型元素“ model”中的任何其他元素显示为像这样的可扩展对象
我已经尝试了很多次,我想我处于循环中,所以我喜欢一个可行的例子。谢谢!