ListView 控件最常用的事件是 SelectionChanged;如果采用 MVVM 模式來設(shè)計(jì) WPF 應(yīng)用,通常,我們可以使用行為(如 InvokeCommandAction)并結(jié)合命令來實(shí)現(xiàn)對(duì)該事件的響應(yīng);如果我們要實(shí)現(xiàn)對(duì) ListViewItem 雙擊事件的響應(yīng)——也就是說,雙擊 ListView 中的某一項(xiàng)——又該怎么做呢?

首先, ListView 并沒有提供相關(guān)的事件;其次,ListViewItem 雖然有 PreviewMouseDoubleClick(隧道事件),然而在 UI 中,我們卻沒有適合的方法來調(diào)用。那么究竟有沒有辦法來解決這個(gè)問題呢?答案肯定是有,以下便是兩種解決方案。第一種是相對(duì)簡(jiǎn)單,在 DataTemplate 中使用 MouseBinding;第二種方法是通過附加屬性,相比第一種略為復(fù)雜一些。來看代碼:

方法一:

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

<ListView.ItemTemplate>
    <DataTemplate>
        <TextBlock Text="{Binding Name}">
            <TextBlock.InputBindings>
                <MouseBinding Command="{Binding DataContext.ShowInfoCommand, ElementName=window}" MouseAction="LeftDoubleClick" />
            </TextBlock.InputBindings>
        </TextBlock>
    </DataTemplate></ListView.ItemTemplate>

萬碼學(xué)堂,電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

可以看到,在上述代碼中,我們添加了 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式