private bool TryGetBamlProperty(Int16 propertyId, out BamlProperty bamlProperty, out XamlMember xamlMember) { lock (_syncObject) { if (propertyId >= 0 && propertyId < _bamlProperty.Count) { Object property = _bamlProperty[propertyId]; xamlMember = property as XamlMember; bamlProperty = property as BamlProperty; return(true); } } if (propertyId < 0) { if (_parentSchemaContext == System.Windows.Markup.XamlReader.BamlSharedSchemaContext) { xamlMember = System.Windows.Markup.XamlReader.BamlSharedSchemaContext.GetKnownBamlMember(propertyId); } else { Int16 typeId; string propertyName; KnownTypes.GetKnownProperty(propertyId, out typeId, out propertyName); xamlMember = GetXamlType(typeId).GetMember(propertyName); } bamlProperty = null; return(true); } xamlMember = null; bamlProperty = null; return(false); }