Here is an example of how to use the HttpMultipartFormDataContent class from the Windows.Web.Http namespace:

HttpClient client = new HttpClient();

HttpMultipartFormDataContent multipart = new HttpMultipartFormDataContent("xxXXxxXXXxXXXxXXXxX");
multipart.Add(new HttpStringContent("hello"), "Thing1");
multipart.Add(new HttpStringContent("world"), "Thing2", "foo.txt");
multipart.Add(new HttpBufferContent((new byte[] { 0x21, 0x22, 0x23, 0x24 }).AsBuffer()), "Thing3");

HttpResponseMessage response = await client.PostAsync(uri, multipart);
Debug.WriteLine(response);

Output:

POST / HTTP/1.1
Accept-Encoding: gzip, deflate
Content-Length: 446
Content-Type: multipart/form-data; boundary=xxXXxxXXXxXXXxXXXxX
Host: localhost
Connection: Keep-Alive
Cache-Control: no-cache

--xxXXxxXXXxXXXxXXXxX
Content-Length: 5
Content-Type: text/plain; charset=UTF-8
Content-Disposition: form-data; name="Thing1"

hello
--xxXXxxXXXxXXXxXXXxX
Content-Length: 5
Content-Type: text/plain; charset=UTF-8
Content-Disposition: form-data; name="Thing2"; filename="foo.txt"; filename*=UTF-8''foo.txt

world
--xxXXxxXXXxXXXxXXXxX
Content-Length: 4
Content-Disposition: form-data; name="Thing3"

!"#$
--xxXXxxXXXxXXXxXXXxX--

Doing the same thing with HttpMultipartContent takes a little bit more of effort:

HttpClient client = new HttpClient();
HttpMultipartContent multipart = new HttpMultipartContent("form-data", "xxXXxxXXXxXXXxXXXxX");

IHttpContent content1 = new HttpStringContent("hello");
content1.Headers.Add("Content-Disposition", " form-data; name=\"Thing1\"");
multipart.Add(content1);

IHttpContent content2 = new HttpStringContent("world");
content2.Headers.Add(
    "Content-Disposition",
    " form-data; name=\"Thing2\"; filename=\"foo.txt\"; filename*=UTF-8''foo.txt");
multipart.Add(content2);

IHttpContent content3 = new HttpBufferContent((new byte[] { 0x21, 0x22, 0x23, 0x24 }).AsBuffer());
content3.Headers.Add("Content-Disposition", " form-data; name=\"Thing3\"");
multipart.Add(content3);

HttpResponseMessage response = await client.PostAsync(uri, multipart);

Obviously HttpMultipartContent has more flexibility than HttpMultipartFormDataContent. There are more multipart content types other than multipart/form-data, e.g.: multipart/mixed, multipart/digest, multipart/message, multipart/alternative, multipart/related, etc.