سلام
من یک صفحه دارم که بازدن یک دکمه میخوام progressbar فعال بشه و کد را مثل مثال شما بصورت mvvm درست کردم حالا در modelView دسترسی به object های درون View ندارم چطور باید اینکار را انجام بدم
با تشکر از راهنمایی شما
سلام خدمت شما
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 دسترسی داشته باشید.
ممنون ولی من میخوام به کل شی progress دسترسی داشته باشم و visibility ان حالت enum داره و سه وضعیتی را تغییر بدهم