Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

wpf - GridView DoubleClick

I have a GridView where I want to detect a doubleclick event on the items in the list, i do it as follows:

<ListView>
    <ListView.View >
        <GridView >
            <GridViewColumn Header="FileName">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Label Content="{Binding FileName}" MouseDoubleClick="Configuration_MouseDoubleClick"/>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn DisplayMemberBinding="{Binding CreationDate}" Header="Date"/>
        </GridView>
     </ListView.View>
</ListView>

The problem is that I can only detect doubleclicks by attaching it to the control in the template.

How can I attach the MouseDoubleClick event to the whole ListViewItem? Is there any solution for that with PRISM?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You can add the MouseDoubleClick event to ListViewItem in the ItemContainerStyle like this

<ListView ...>
    <ListView.ItemContainerStyle>
        <Style TargetType="{x:Type ListViewItem}">
            <EventSetter Event="MouseDoubleClick" Handler="ListViewItem_MouseDoubleClick"/>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>

Code behind..

void ListViewItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
    //...            
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...