Wpf Reach";命令源“;ICommand中的xaml元素

Wpf Reach";命令源“;ICommand中的xaml元素,wpf,icommand,Wpf,Icommand,我想在单独的类中实现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 t

我想在单独的类中实现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;
}

做
公共类文档命令:ICommand
{
public void Execute(对象参数)
{
**我需要从这里访问触发此命令的xaml**
}
公共布尔CanExecute(对象参数)
{
返回true;
}
公共事件处理程序CanExecuteChanged;
}
我怎么能这么做?
谢谢。

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

<Button Command="{StaticResource Do}" CommandParameter="{Binding RelativeSource={RelativeSource Mode=Self}, BindsDirectlyToSource=True}" >Do!</Button>
Do!
然后在执行方法中:

public void Execute(对象参数) { 按钮按钮=参数为按钮; }