• 1397/11/27

دسترسی به یک progressbar از مدل :

سلام

من یک صفحه دارم که بازدن یک دکمه میخوام progressbar فعال بشه و کد را مثل مثال شما بصورت mvvm درست کردم حالا در modelView دسترسی به object های درون View ندارم چطور باید اینکار را انجام بدم

با تشکر از راهنمایی شما

  • 1397/11/27
  • ساعت 17:10

سلام خدمت شما

MainWindows:

public partial class MainWindow : Window
    {
        public VM Vm { get; set; }

        public MainWindow()
        {
            Vm = new VM();

            InitializeComponent();
            DataContext = this;
        }      
    }

 

ViewModel:

public class VM: INotifyPropertyChanged
    {
        public DelegateCommand onclick { get; set; }

        public VM()
        {
            onclick = new DelegateCommand(OnClickBTN);
        }

        private double _currentProgress;

        public double CurrentProgress
        {
            get { return _currentProgress; }
            private set
            {
                _currentProgress = value;
                OnPropertyChanged();
            }
        }
        public event PropertyChangedEventHandler PropertyChanged;

        protected virtual void OnPropertyChanged([CallerMemberName]string propertyName = null)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }


        private void OnClickBTN()
        {
            CurrentProgress++;
        }

    }

 

MainWindows.Xaml:

<StackPanel>
        <Button Command="{Binding Vm.onclick}">شمارنده</Button>
        <ProgressBar Minimum="0"
                     Maximum="2"
                     Height="150"
                     Value="{Binding Vm.CurrentProgress,Mode=OneWay}" />
    </StackPanel>

 

شما از این طریق میتونید به اون progressbar دسترسی داشته باشید.


  • 1397/11/27
  • ساعت 17:35

ممنون ولی من میخوام به کل شی progress دسترسی داشته باشم و visibility ان حالت enum داره و سه وضعیتی را تغییر بدهم

 


logo-samandehi