我有一個WPF自定義組合框,作爲用戶鍵入,篩選剩餘的單詞包含(不只是開始)用戶輸入的列表。現在我想按回車,下拉菜單中的第一項是選定的項目。正確的項目選擇用戶按enter鍵組合框
這裏是前:
期望的行爲:當我按下從這裏進入,DHC成爲的SelectedItem。
實際發生的:
HEI成爲選擇的答案,(可能是因爲它是與「他」開始的唯一節點
爲了解決這個問題,我試圖通過在xaml中包括這個來使按鍵功能過載:
<i:Interaction.Triggers>
<i:EventTrigger EventName="KeyDown" >
<cmd:EventToCommand Command="{Binding KeyPress}"
PassEventArgsToCommand="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
哪些路由到代碼中:
private void OnDownPress(KeyEventArgs e)
{
var key = e.Key.ToString().ToLower();
switch (key)
{
case "up":
break;
case "down"
break;
case "return":
SelectedNode = NodeTokenList[0];
UserInput = NodeTokenList[0].FullNodeName;
break;
}
}
現在我試着在switch語句的返回部分設置一個斷點,我必須在開關被觸發前按下enter 3次。而且當時的文本框不會反映所需的行爲
你大概可以綁定選擇的項目,並將其設置爲過濾列表中的第一項 – Steve
嗯,沿着這些線做某事似乎工作。如果你想回答它,我會接受。後續問題雖然,當我嘗試滾動下拉菜單時,它會更改文本框中的值,然後將該列表僅篩選出與該字符串匹配的列表,只留下文本框中的項目作爲可能的答案。 。有什麼辦法讓我可以使用箭頭按鈕進行導航? –