2013-08-03 74 views
8

我有兩個組合框在另一個之上。如果打開包含此組合框的表單並避免將鼠標懸停在較低的組合框上,則只需單擊第一個組合框,然後從下拉列表中選擇位於第二個組合框上方的項目即可。一旦你點擊一個項目,下拉列表將關閉,但你的鼠標將保持在第二個組合框上。但是這個組合框不會突出顯示並且對你的點擊作出反應。看看這張照片,請:C#WPF comboBox奇怪的問題

enter image description here

兩個組合框IsEditable = false;但是,如果你在移動鼠標了第二組合框,回到它 - 一切都將正常工作。請幫我解決這個問題。

UPD。 XAML:

<ComboBox Background="{x:Null}" Height="33" HorizontalAlignment="Left" IsEditable="False" IsEnabled="True" Margin="10,151,0,0" Name="comboBox2" VerticalAlignment="Top" Width="239" VerticalContentAlignment="Center" FontSize="14" IsReadOnly="False" Text="" SelectionChanged="comboBox2_SelectionChanged" TabIndex="6" HorizontalContentAlignment="Left" Padding="10,3" FontWeight="SemiBold" AllowDrop="False" Cursor="Hand" IsTabStop="True" /> 
<ComboBox Background="{x:Null}" FontSize="14" Height="33" HorizontalAlignment="Left" IsEditable="False" IsEnabled="True" Margin="10,190,0,0" Name="comboBox3" VerticalAlignment="Top" VerticalContentAlignment="Center" Width="439" IsReadOnly="False" Text="" SelectionChanged="comboBox3_SelectionChanged" TabIndex="8" HorizontalContentAlignment="Left" Padding="10,3" FontWeight="SemiBold" ClipToBounds="False" Cursor="Hand" IsHitTestVisible="True" SnapsToDevicePixels="True" UseLayoutRounding="True" /> 
+0

我只是用兩個'ComboBox'控件創建一個簡單的WPF應用程序,我無法複製您的問題......它們工作正常。你使用一些自定義的'ComboBox'控件嗎?顯示用於聲明組合框和代碼隱藏中的任何事件的XAML,或者可能影響其行爲的任何事件。 –

+1

請參閱更新的XAML。他們不是習慣。填充了xml數據。主要的事情 - 你應該避免在表單加載之後將鼠標懸停在第二個組合框上。 – Mike

回答

6

設置Background屬性爲WhiteTransparent,而不是{x:Null}。空背景影響控制命中行爲。

+0

有趣!我從來沒有想過它。非常感謝你! – Mike