public override void WriteStartMember(XamlMarkupExtensionWriter writer, XamlMember property)
 {
     UpdateStack(writer, property);
     WriteNonPositionalParameterMember(writer, property);
 }
 public virtual void WriteStartMember(XamlMarkupExtensionWriter writer, XamlMember property)
 {
     writer.failed = true;
 }
            protected void WriteNonPositionalParameterMember(XamlMarkupExtensionWriter writer, XamlMember property)
            {
                if (XamlXmlWriter.IsImplicit(property) ||
                    (property.IsDirective && (property.Type.IsCollection || property.Type.IsDictionary)))
                {
                    writer.failed = true;
                    return;
                }

                if (property.IsDirective)
                {
                    writer.sb.Append(Delimiter);
                    WritePrefix(writer, writer.LookupPrefix(property));
                    writer.sb.Append(property.Name);
                }
                else if (property.IsAttachable)
                {
                    writer.sb.Append(Delimiter);
                    WritePrefix(writer, writer.LookupPrefix(property));
                    string local = property.DeclaringType.Name + "." + property.Name;
                    writer.sb.Append(local);
                }
                else
                {
                    writer.sb.Append(Delimiter);
                    writer.sb.Append(property.Name);
                }

                writer.sb.Append("=");

                writer.currentState = InMember.State;
            }
 public override void WriteStartMember(XamlMember property)
 {
     currentState.WriteStartMember(this, property);
 }