[WPF]ComboBox.Items為空時,點擊不顯示下拉列表


ComboBox.Items為空時,點擊后會顯示空下拉列表:

ComboBox點擊顯示下拉列表,大概原理為:

ComboBox存在ToggleButton控件,默認ToggleButton.IsChecked和ComboBox.IsDropDownOpen為雙向綁定。

點擊ComboBox-->ToggleButton.IsChecked=true-->ComboBox.IsDropDownOpen=true-->顯示下拉列表。

 

要實現ComboBox.Items為空時不顯示下拉列表,

可以操作ToggleButton.IsChecked和ComboBox.IsDropDownOpen的綁定,

Items存在時則綁定,Items為空時則取消綁定。

 

具體過程:編輯ComboBox模版,創建觸發器

<Trigger Property="HasItems" Value="false">
    <Setter Property="IsChecked" TargetName="toggleButton" Value="False"/>
</Trigger>
<Trigger Property="HasItems" Value="true">
    <Setter Property="IsChecked" TargetName="toggleButton" Value="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"/>
</Trigger>

 

ComboBox.Items為空時,點擊ComboBox但未顯示下拉列表:

ComboBox.Items不為空時,點擊ComboBox顯示下拉列表:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM