2009-03-06 14 views
0

私がこれを理解することができなかったので、誰かが助けてくれることを願っています。ここでは、ポップアップ/コンボボックスのxamlコードですが、レイアウトの残りの部分には前後に他のコードはありません。WPFコンボボックス+ MouseLeftButtonDown

<Popup x:Name="popupMethods" Height="400" Width="150" 
     StaysOpen="False" Placement="Bottom" IsOpen="false" 
     HorizontalAlignment="Left"> 
       <ComboBox x:Name="combo" MouseLeftButtonDown="combo_MouseDown"> 
        <TextBlock>Hello</TextBlock> 
        <TextBlock>World</TextBlock> 
        <TextBlock>This</TextBlock> 
        <TextBlock>is</TextBlock> 
        <TextBlock>Autocomplete</TextBlock> 
        <TextBlock>Textbox</TextBlock> 
       </ComboBox> 
    </Popup> 

ユーザーが入力を開始するたびに画面にポップアップが表示されるように設定しました。これは機能します。問題は、ユーザーがコンボボックス内の単語の1つをクリックしてテキストボックスに挿入されるようにすることです。 MouseLeftButtonDownとして機能しないこの部分は、決して起動されません。私はそれがcombo.MouseLeftButtonDown + =デリゲート{}だったどこか見たこのサイト http://www.designerwpf.com/2008/12/03/getting-a-mouseleftbuttondown-or-mouseleftbuttonup- イベントから、あなたの-テキストボックス/

ならびに1つから1を含むさまざまな方法をいくつか試してみました。

ありがとうございました。

答えて

0

おそらくSelectionChangedイベントを参照してください。コンボボックスのドロップダウン内の項目が選択されるたびに起動します。

私はComboBoxが内部でMouseLeftButtonDownイベントを処理しているため、コードに渡されないと考えています。

2

MouseLeftButtonDownイベントハンドラの代わりに、PreviewMouseLeftButtonDownを使用すると、同じ結果を得ることができます。

関連する問題