3

我想在一个单独的类中实现 ICommand,并想从这里访问按钮:

<Grid>
    <Button Command="{StaticResource Do}" >Do!</Button>
</Grid>

public class DoCommand : ICommand
{
    public void Execute(object parameter)
    {
        **I need to access a xaml that triggered this command from here**
    }

    public bool CanExecute(object parameter)
    {
        return true;
    }

    public event EventHandler CanExecuteChanged;
}

我怎么能那样做?谢谢。

4

1 回答 1

1

您可以将按钮作为参数从 XAML 传递,如下所示:

<Button Command="{StaticResource Do}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, BindsDirectlyToSource=True}" >Do!</Button>

然后在 Execute 方法中:

public void Execute(object parameter) { Button button = parameter as Button; }

于 2012-01-23T05:14:20.303 回答