0
Reply

WPF percentage status shown in label MVVM

coe maw

coe maw

Sep 19 2015 8:17 AM
362
Hi All Experts,

I got some problem in showing download percentage in GridView of WCF.i used MVVM pattern. here is my background worker in application start.
 
public partial class MainWindow : Window { public MainWindow() { Overall.EverythingOk = "Nothing"; InitializeComponent(); //IRepo repo = new Repo(); ViewModel.MainWindowsViewModel viewModel = new ViewModel.MainWindowsViewModel(); this.DataContext = viewModel; BackGroundThread bgT = new BackGroundThread();            bgT.bgWrk.RunWorkerAsync(); } }
Here is the DoWork function in BackGroundTHread class
public void bw_DoWork(object sender, DoWorkEventArgs e) { if (!Overall.stopStatus) { for (int i=0; i < 10000; i++) { Overall.PercentageDwnd = i; Overall.caseRefId = "999999"; if (i == 9998) {                        i = 1; } } } }
Overall.PercentageDwnd and Overall.caseRefId are static variable(you can call from everywhere in the application) and always update until the backgroundworker completed. I got another viewmodel called TestViewModel and here it is.
public class TestViewModel:BindableBase { private String _UpdatePer=Overall.PercentageDwnd.ToString(); public String UpdatePercentage { get { return _UpdatePer; } set { SetProperty(ref _UpdatePer, value); } } private ObservableCollection _ViewAKA = new ObservableCollection(); private tblTransaction model; public TestViewModel(tblTransaction model) { // TODO: Complete member initialization } public ObservableCollection ViewAKA { get { return _ViewAKA; } set { SetProperty(ref _ViewAKA, value); } } }
I bind with TestView.xaml file
<Window x:Class="EmployeeManager.View.TestView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="TestView" Height="359.774" Width="542.481"> <Grid Margin="0,0,2,0"> <Label Content="{Binding UpdatePercentage,UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Left" Background="Red" Foreground="White" Margin="130,86,0,0" VerticalAlignment="Top" Width="132" Height="39"> </Label> </Grid> </Window>
How can i realtime update Percentage in Label? quite newbie in WPF as well as MVVM
 
here is onedrive share linke just sample project
https://onedrive.live.com/redir?resid=CBD5EFBEC55FE8C1!107&authkey=!AJgQfP3vplSeHSs&ithint=file%2czip

THanks
Weeiyourda