0

我有一个文本框,想传递在命令中输入的文本。我确实遵循:

XAML:

<TextBox Margin="0" Grid.Row="2" TextWrapping="Wrap" >
            <i:Interaction.Triggers>
                <iex:KeyTrigger Key="Enter">
                    <i:InvokeCommandAction Command="{Binding TextBoxMessageCommand}"  CommandParameter="{Binding Path=Text, RelativeSource={RelativeSource Self}}"/>
                </iex:KeyTrigger>
            </i:Interaction.Triggers>
        </TextBox>

命令中的代码:

public override void Execute(object parameter)
    {
       string msg = parameter;

没关系。方法 Execute 正确地触发并且很好。但是参数== null。这里有什么问题?

4

1 回答 1

1

您应该尝试为您的名称TextBox命名并在命令中通过此名称引用它。Self 不会在命令中工作。

<TextBox x:Name="textBox" Margin="0" Grid.Row="2" TextWrapping="Wrap" >
        <i:Interaction.Triggers>
            <iex:KeyTrigger Key="Enter">
                <i:InvokeCommandAction Command="{Binding TextBoxMessageCommand}"  CommandParameter="{Binding Path=Text, ElementName=textbox}"/>
            </iex:KeyTrigger>
        </i:Interaction.Triggers>
</TextBox>
于 2013-09-03T07:36:29.237 回答