void ReadStartMember ()
{
var xt = types.Peek ();
var name = r.LocalName;
int idx = name.IndexOf ('.');
if (idx >= 0) {
string tname = name.Substring (0, idx);
var xtn = new XamlTypeName (r.NamespaceURI, tname, null);
xt = SchemaContext.GetXamlType (xtn) ?? new XamlType (xtn.Namespace, xtn.Name, null, SchemaContext);
name = name.Substring (idx + 1);
}
var xm = (XamlMember) FindStandardDirective (name, AllowedMemberLocations.MemberElement) ?? xt.GetAttachableMember (name) ?? xt.GetMember (name);
if (xm == null)
// create unknown member.
xm = new XamlMember (name, xt, false); // FIXME: not sure if isAttachable is always false.
current = current_member = xm;
members.Push (xm);
node_type = XamlNodeType.StartMember;
inside_object_not_member = false;
r.Read ();
}