0
让我首先说我是MVVM
的新手,所以如果问题不清楚请告诉我,我会尽力澄清。按Enter键时从文本框触发命令?
我已经正确XAML
实现的button
与multibinding
,代码如下:
<Button x:Name="licenceFilterSet" Content="Search License" Command="{Binding licenseSearchCommand}" Click="licenceFilterButtonClick" HorizontalAlignment="Right" Width="94">
<Button.Resources>
<local:SearchFilterConverter x:Key="SearchFilterConverter" />
</Button.Resources>
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource SearchFilterConverter}">
<Binding Path="Text" ElementName="filterLicenseTextBox" />
<Binding Path="IsChecked" ElementName="regularExpressionCheckBox" />
</MultiBinding>
</Button.CommandParameter>
</Button>
(文本框的值和一个复选框被发送到被继续)。
现在我想添加完全相同的功能到文本框,用户可以在textBox
中直接按ENTER
并执行相同的操作。
我尝试了下面的代码,但似乎每个字符现在都发送到命令,但我只想要命令发送时,用户按ENTER
。我应该改变什么?
<TextBox Name="filterLicenseTextBox">
<TextBox.Resources>
<local:SearchFilterConverter x:Key="SearchFilterConverter" />
</TextBox.Resources>
<TextBox.Text>
<MultiBinding Converter="{StaticResource SearchFilterConverter}">
<Binding Path="Text" ElementName="filterLicenseTextBox" Mode="OneWay"/>
<Binding Path="IsChecked" ElementName="regularExpressionCheckBox" Mode="OneWay"/>
</MultiBinding>
</TextBox.Text>
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding licenseSearchCommand}">
</KeyBinding>
</TextBox.InputBindings>
</TextBox>
我不明白'TextBox.Text'中的'MultiBinding'应该完成...在你的'Button'中,你在CommandParameter属性中有相同的代码。另外,请显示你的'Converter'代码。 – Sheridan
只是想知道你的问题是答案,如果是的话,你能接受答案并关闭它:) – Noctis