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