首先让我说我是新手MVVM
,所以请坦率地说,如果问题不清楚,请告诉我,我会尽力澄清。
我已经正确实现了一个button
in XAML
with 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>
(文本框和复选框的值被发送以继续进行)。
现在我想将完全相同的功能添加到文本框,用户可以直接按下ENTER
并textBox
执行相同的操作。
我尝试了以下代码,但似乎每个字符现在都发送到命令,但我只希望在用户按下时发送命令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>