如何将参数传递给ICommand?

时间:2011-12-28 10:09:37

标签: c# wpf xaml

我定义了一个ICommand-Class ReadPersons,它使用特定的where子句从数据库中读取所有person对象。

通过按下按钮执行命令,并在文本框中插入where子句。

问题:如何将文本从文本框传递到Execute-Command?

MainWindow.xaml:

    <Button Command="{Binding ReadPersons}">Read persons</Button>
    <TextBox Name="textBoxWhereClause" />

ReadPersons.cs:

    public void Execute(object parameter)
    {
        // Read all persons with my where-clause
        string whereClause = ??? //todo
    }

2 个答案:

答案 0 :(得分:3)

是的,你可以。

<Button Command="{Binding ReadPersons}" 
        CommandParameter="{Binding Text, ElementName=textBoxWhereClause}">
           Read persons</Button>

答案 1 :(得分:0)

<Button Command="{Binding ReadPersons}" CommandParameter="{Binding SomeProperty}" Content="Read Persons"/>