I think more than a XAML question, it's just an XML namespace question.
The xmlns attribute (special attribute) is the only attribute used in XML to define a namespace. It says: "Here comes the namespace declaration." If you do not add a prefix, then you tell it to set the namespace, which is the value of this attribute, as the default namespace for the page. If you omit completely, the default namespace is considered the value of the attribute (after = and between quotation marks).
XAML is XML and chooses to use the XML engine to declare namespaces. I suppose they could create their own mechanism for this, but since they did not, if you added your namespace, as you hint in your question, without xmlns :, an application that processes XML (in this case, the platform. NET, parses the XAML file) would not know that you are trying to define a namespace; he would think that you were adding an attribute called "x" to the element in which it was defined (which most likely would not be the attribute defined for this element).
More on XML Namespaces
http://www.w3.org/TR/REC-xml/
http://www.w3schools.com/XML/xml_namespaces.asp
http://en.wikipedia.org/wiki/XML_namespace
source share