2010-01-28 127 views
0

我想將MouseDoubleClick(或PreviewMouseDoubleClick)綁定到我的自定義命令中,該命令在我的自定義WPF控件中定義。ListBox MouseBinding to Command not working

問題是它不起作用。

... 
<Popup> 
... 
<!--This CommandBinding **DOES NOT WORK** !--> 
<ListBox Grid.Row="1" 
    x:Name="PART_lBox"                  
    VirtualizingStackPanel.IsVirtualizing="True" 
    DisplayMemberPath="{TemplateBinding DisplayMemberPath}"                  
    ItemsSource="{TemplateBinding ItemsSource}"> 
<ListBox.InputBindings>                  
    <MouseBinding Command="{x:Static local:ListPicker.AcceptCommand}"                     
     MouseAction="LeftDoubleClick" /> 
</ListBox.InputBindings> 
</ListBox> 

<!--This CommandBinding **WORKS** !--> 
<Button Grid.Row="0" 
    Grid.Column="1"                   
    HorizontalAlignment="Right" 
    Command="{x:Static local:ListPicker.AcceptCommand}" 
    Content="Accept" /> 
... 
</Popup> 
+0

沒有直接的方法。但是,您可以通過創建自定義點擊處理程序來實現此目的。 我所做的是,我有一個點擊計數器類,每調用一次click方法就會啓動一個計時器。當在給定時間內收到點擊時,它會增加點擊次數。對於我來說,每次點擊之間的時間間隔爲2000毫秒。如果你想知道做了多少次正確的點擊。您需要使用該類的ClickCount屬性。 我不得不使用它來執行單擊,雙擊和三擊的不同操作。 HTH – 2010-08-21 14:14:21

回答