簡體   English   中英

組合框自動下拉

[英]Combobox automatically dropdown

我有可編輯的組合框MVVM。 我在組合框中編寫內容時需要dropdown = true。

 Text="{Binding textsearch, UpdateSourceTrigger=PropertyChanged}" 

在此處的textsearch中,我為ComboBox IsDropDownOpen = true寫了OnPropertyChange,但是它僅在選擇行時有效,當我選擇行然后嘗試再次寫時,dropdown = false而不會對屬性做出反應...

另外,當我選擇行並更改文本時,我無法再次選擇該行,因為已選擇該行,因此我需要先更改所選項目,但是當更改所選項目時,文本也會更改。

如何使過濾器工作?

或像另一個變體一樣,我添加了用於過濾文本的文本框,但是當我編寫文本並調用textsearch屬性時,文本框失去了焦點,而組合框具有此焦點...如何將焦點保存在文本框和下拉組合框項目列表上?

進行類似操作的最簡單方法是處理一個或多個事件。 您可以嘗試處理PreviewTextInput事件

<ComboBox ItemsSource="{Binding Items}" IsEditable="True" 
    PreviewTextInput="ComboBox_PreviewTextInput" />

...

private void ComboBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    ComboBox comboBox = sender as ComboBox;
    comboBox.IsDropDownOpen = true;
}

每次用戶在ComboBox TextBox鍵入內容時,此事件處理程序中的代碼都會打開下拉列表。 您可能還需要處理一些事件才能獲得所需的確切行為,但是您可以從MSDN上的“ 組合框事件”頁面查看哪些事件可用,然后自己完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM