title: "await" doesn't wait for the completion of call
body: <p>I'm building a Metro App.</p>
  <p>In the MainPage.xaml.cs, I instantiate Album as follows:</p>
  <pre><code>Album album = new Album(2012);  //With the album ID as its parameter.
  ListView1.ItemsSource = album.Songs;
  </code></pre>
  <p>In the Album.cs, the constructor is as follows:</p>
  <pre><code>public Album(int ID)
  {
      this.ID = ID;
      Initialize();  //Serves as a wrapper because I have to call httpClient.GetStreamAsync() and &quot;async&quot; doesn't work for the constructor.
  }
  </code></pre>
  <p>Finally, the Initialize method:</p>
  <pre><code>private async void Initialize()
  {
      //...some code...
      HttpClient cli = new HttpClient();
      Stream SourceStream = await HttpClient.GetStreamAsync(&quot;http://contoso.com&quot;);
      //...some code...
      this.Songs = Parse(SourceStream);
  }
  </code></pre>
  <p>The problem is when it runs to GetStreamAsync, it then goes to <code>ListView1.ItemsSource = album.Songs</code> directly with the album.Songs null.</p>
  <p>Is there any quick solution to this problem?</p>