Я пытаюсь привязать свойство ICommand к кнопке Command из MainWindow.Но это не работает.Вот пример кода, который я пытаюсь для этого.
C # Код:
public partial class MainWindow : Window
{
private ICommand _StartButtonCommand;
public ICommand StartButtonCommand
{
get{ return this._StartButtonCommand;}
set
{
if (this._StartButtonCommand!=value)
{
this._StartButtonCommand = value;
}
}
}
public MainWindow()
{
InitializeComponent();
this.StartButtonCommand = new ReplayCommand(new Action<object>(startButtonCommandEx));
}
private void startButtonCommandEx(object obj)
{
MessageBox.Show("Done");
}
protected class ReplayCommand : ICommand
{
private Action<object> _action;
public ReplayCommand(Action<object> action)
{
this._action = action;
}
public bool CanExecute(object parameter)
{
return true;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
try
{
if (parameter!=null)
{
this._action(parameter);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "AutoShutdown", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
XAML:
<Button x:Name="buttonStrat" Content="Start" HorizontalAlignment="Left" Width="84.274" Height="39.246" Command="{Binding StartButtonCommand, ElementName=window}"/>
На самом деле я хочу получить доступ к элементам пользовательского интерфейса, таким как свойство DataGridView SelectedItemили любое другое свойство пользовательского интерфейса, использующее ICommand, которое s why i am writing ICommand in MainWindow Class.
I don
не знает, что это правильный или неправильный путь.Я просто пробую это, и я не успехЕсли это неверный путь, пожалуйста, посоветуйте мне, как правильно и как это сделать.
Спасибо за совет.