This question is locked. New answers and comments are not allowed.
                        
                        In summary, not all charts in a view display the bound data the first time the view is loaded, in spite of the fact that the properties to which the charts are bound contain valid data. However, on subsequent visits to that view, all charts display data correctly.
Details: I've got a few charts (1 Cartesian chart with multiple line series and 2 Pie charts) in a view in a Win 8.1 project that uses MVVM Light. I have a method that is called by the View Model's constructor that is responsible for retrieving and manipulating the data into a format conducive for binding to the charts. This method is async and uses the await keyword to retrieve the data from the database and then formats the data inline. Finally, the MVVM properties are bound to the lists of formatted data. Here's an example:
 
 
 
 
 
 
 
 
Generally, only one or two of the three charts display their data on the view's initial load. It almost seems as if the view renders the empty charts before data gets applied (which is okay), but then when the data is ready and is bound to the binding properties of the charts, the UI binding doesn't take effect. Here's a snippet of the XAML for one of the Pie charts referenced above in the code block:
To reiterate - when I then navigate away from this view and then go back to it, everything displays properly. Perhaps this is because the VM and data are already loaded and available. But that shouldn't matter. It shouldn't matter whether it takes 2 seconds or 1 minute to pull and format data...once I bind the data to the charts, they should update on the UI. Correct? Any ideas? Thanks.
                                Details: I've got a few charts (1 Cartesian chart with multiple line series and 2 Pie charts) in a view in a Win 8.1 project that uses MVVM Light. I have a method that is called by the View Model's constructor that is responsible for retrieving and manipulating the data into a format conducive for binding to the charts. This method is async and uses the await keyword to retrieve the data from the database and then formats the data inline. Finally, the MVVM properties are bound to the lists of formatted data. Here's an example:
public async void Initialize(){    try    {        IsBusy = true;        // get trend data for the line series chart        var salesTrendList = await MyBusinessLogic.GetTrendListAsync();        // transform trend data for chart and bind to MVVM Light property, which raises PropertyChanged event        SalesTrend = PrepareTrendData(salesTrendList);        // now get data for the Pie charts        var pieList = await MyBusinessLogic.GetPieDataAsync();        // format data for 1st Pie chart        var salesPYTD = new List<ProdCatSalesComp>();        var totSalesPYTD = pieList.Where(p => p.Period == (DateTime.Today.Year - 1)).Sum(p => p.SalesAmt);        foreach (var itm in pieList.Where(p => p.Period == (DateTime.Today.Year - 1)))        {            salesPYTD.Add(new ProdCatSalesComp(itm.Category, itm.SalesAmt, (itm.SalesAmt / totSalesPYTD)));        }        // now bind data to MVVM property for 1st Pie chart, which raises PropertyChanged event        ProductCategorySalesPYTD = salesPYTD;        // format data for 2nd Pie chart        var salesCYTD = new List<ProdCatSalesComp>();        ... process data ...
        // now bind data to MVVM property for 2nd Pie chart, which raises PropertyChanged event        ProductCategorySalesCYTD = salesCYTD     }    catch (Exception ex)    {        ...    }    finally    {        IsBusy = false;    }}Generally, only one or two of the three charts display their data on the view's initial load. It almost seems as if the view renders the empty charts before data gets applied (which is okay), but then when the data is ready and is bound to the binding properties of the charts, the UI binding doesn't take effect. Here's a snippet of the XAML for one of the Pie charts referenced above in the code block:
<StackPanel Orientation="Vertical">    <TextBlock Text="Sales by Category - Prior YTD"               Style="{StaticResource TitleTextBlockStyle}"/>         <telerik:RadPieChart x:Name="CatCompPriorYTD"                         Width="150" Height="150"                         Margin="0,30,0,0"                         ClipToBounds="False"                         Palette="{StaticResource CustomPalette}" >                 <telerik:PieSeries ItemsSource="{Binding ProductCategorySalesPYTD"                            ShowLabels="True">            <telerik:PieSeries.ValueBinding>                <telerik:PropertyNameDataPointBinding PropertyName="Percentage"/>            </telerik:PieSeries.ValueBinding>            <telerik:PieSeries.LegendTitleBinding>                <telerik:PropertyNameDataPointBinding PropertyName="Category"/>            </telerik:PieSeries.LegendTitleBinding>        </telerik:PieSeries>             </telerik:RadPieChart></StackPanel>To reiterate - when I then navigate away from this view and then go back to it, everything displays properly. Perhaps this is because the VM and data are already loaded and available. But that shouldn't matter. It shouldn't matter whether it takes 2 seconds or 1 minute to pull and format data...once I bind the data to the charts, they should update on the UI. Correct? Any ideas? Thanks.