private async void InitializeGraphs() { if (!string.IsNullOrEmpty(ViewModel.TopClientsData)) { var topClientsResult = await DashboardWebview.InvokeScriptAsync("setupTopClients", new string[] { ViewModel.TopClientsData }); } if (!string.IsNullOrEmpty(ViewModel.PerformanceData)) { var pastPerformanceResult = await DashboardWebview.InvokeScriptAsync("setupRevenueExpense", new string[] { ViewModel.PerformanceData }); } if (!string.IsNullOrEmpty(ViewModel.TopExpensesData)) { var expenseCategoriesResult = await DashboardWebview.InvokeScriptAsync("setupTopExpenseCategories", new string[] { ViewModel.TopExpensesData }); } }
public DashboardPage() { InitializeComponent(); DataContext = ViewModel; Loaded += (s, e) => { DashboardWebview.NavigationCompleted += (se, ev) => InitializeGraphs(); DashboardWebview.Navigate(DASHBOARD_URI); }; ViewModel.PropertyChanged += (s, e) => { if (e.PropertyName == nameof(ViewModel.PerformanceData)) { DashboardWebview.Navigate(DASHBOARD_URI); } }; // Necessary due to improper memory management by UWP Webview Unloaded += (s, e) => GC.Collect(); }