2013-08-03 19 views
8

2つのコンボボックスが重なっています。問題は、このコンボボックスを含むフォームを開き、下のコンボボックスにマウスを置かないで、最初のコンボボックスをクリックし、ドロップダウンリストから2番目のコンボボックスのすぐ上にあるアイテムを選択すると表示されます。アイテムをクリックすると、ドロップダウンリストは閉じられますが、マウスは2番目のcomboBoxの上に残ります。しかし、このコンボボックスは強調表示されず、クリックに反応しません。この絵を見てくださいください: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

2つの 'ComboBox'コントロールで単純なWPFアプリケーションを作成するだけで、問題を再現することはできません。正常に動作します。カスタムの 'ComboBox'コントロールを使用していますか? ComboBoxを宣言するために使用するXAMLと、コードビハインド内のイベントまたはその動作に影響を与える可能性のあるイベントを表示します。 –

+1

更新されたXAMLを参照してください。彼らは習慣ではありません。 xmlデータが格納されます。主なもの - フォームがロードされた直後に2番目のcomboBox上にマウスを置くのは避けてください。 – Mike

答えて

6

ではなく{x:Null}WhiteまたはTransparentBackgroundプロパティを設定します。ヌルの背景はコントロールのヒットテストの動作に影響します。

+0

興味深い!私はそれについて考えたことはありません..ありがとうございました! – Mike