[英]How to handle Ctrl + Enter with TextBox when AcceptsReturn is true?
[英]Textbox KeyBinding with AcceptsReturn = true
基本上,我有一個文本框,當未選中一個復選框且選中該復選框時,我會接受返回值。我希望該文本框對我編寫的KeyBinding做出反應。
<TextBox AcceptsReturn="{Binding IsChecked, ElementName=EnterCheckbox, Converter={StaticResource InvertBooleanConverter}}" >
<TextBox.InputBindings>
<KeyBinding Key="Enter" Command="{Binding CmdEnterPressed}"/>
</TextBox.InputBindings>
</TextBox >
現在無論如何,盡管事實上當我按下[Return]
時TextBox.AcceptsReturn
都設置為True,但KeyBinding正在觸發,我不想觸發它,而是轉到下一行TB。
您可以為該命令實現CanExecute,如下所示:
public bool CanExecute(object parameter)
{
bool acceptReturns = (bool)parameter;
return !acceptReturns;
}
並且在您的XAML中(就CommandParameter用於Execute和CanExecute方法而言):
<KeyBinding Key="Enter" Command="{Binding CmdEnterPressed}"
CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TextBox}}, Path=AcceptsReturn}"/>
有相同的問題,建議的解決方案未解決。 這是我的解決方法。
應該有一個更好的解決方法,但這對我而言是成功的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.