Я новичок в WPF. У меня есть кнопка на моем главном окнеКак связать кнопку управления
<Button Grid.Row="1" x:Name="btnSelect" Command="{Binding SaveCommand}"
Content="Select"
IsEnabled="{Binding CanExec,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
и в myViewModel
private bool _canExecute;
private ICommand saveCommand;
public MainWindow()
{
InitializeComponent();
DataContext = this;
CreateSaveCommand();
}
private void CreateSaveCommand()
{
this.saveCommand = new DelegateCommand<object>(this.OnSaveClick, this.CanSaveExecute);
}
public ICommand SaveCommand
{
get { return this.saveCommand; }
}
private void OnSaveClick(object arg)
{
}
private bool CanSaveExecute(object arg)
{
return CanExec;
}
public bool CanExec
{
get { return _canExecute; }
set { _canExecute = value; OnPropertyChanged("CanExec"); }
}
public event PropertyChangedEventHandler PropertyChanged;
private void OnPropertyChanged(string p)
{
if (PropertyChanged == null)
PropertyChanged(this, new PropertyChangedEventArgs(p));
}
Но кнопка всегда остаются disabled..What мне не хватает ??
Ничто не устанавливает CanExec в true? поэтому ваша кнопка всегда отключена? – user1
Примечание: значение Boolean в C# по умолчанию является ложным. –
Пожалуйста, покажите свою реализацию 'OnPropertyChanged'. – Sheridan