(WPF,C#,ListView)如何在用户选择项目时进行事件

时间:2017-11-21 05:48:06

标签: c# wpf listview

必须双击(点击选择项目=>点击同一项目进行活动,几乎就像双击一样)。 我想只做一次点击事件(选择项目时)。

**Listview.xaml**
    <ListView x:Name="listV1" HorizontalAlignment="Left" Height="263" 
Margin="44,159,0,0" VerticalAlignment="Top" Width="283" BorderThickness="0" FontFamily="NanumSquareOTF" FontSize="18">
                <ListView.View >
                    <GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
                        <GridViewColumn Header="Title" DisplayMemberBinding="{Binding TITLE}" Width="250" />
                    </GridView>
                </ListView.View>
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <EventSetter Event="PreviewMouseLeftButtonDown" Handler="ListViewItem_PreviewMouseLeftButtonDown1" />
                    </Style>
               </ListView.ItemContainerStyle>
    </ListView>
**Listview.xaml.cs**
    private void ListViewItem_PreviewMouseLeftButtonDown1(object sender, MouseButtonEventArgs e)
            {


                var item = sender as ListViewItem;
                if (item != null && item.IsSelected)
                {
                    uid_tmp = "";
                    DbData selectedItem = (DbData)listV1.SelectedItems[0];
                    db_tmp = selectedItem.Db;
                    Get_UIDDataAsync();

                }
            }

1 个答案:

答案 0 :(得分:0)

我解决了使用SelectionChanged

**list.xalm**
    <ListView x:Name="listV1" HorizontalAlignment="Left" 
                  Height="263" Margin="44,159,0,0" VerticalAlignment="Top" 
                  Width="283" BorderThickness="0" FontFamily="NanumSquareOTF"
                  FontSize="18"
                  SelectionMode="Single"
                     SelectionChanged="listV1_SelectionChanged"
                     >
                <ListView.View >
                    <GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
                        <GridViewColumn Header="Title" DisplayMemberBinding="{Binding TITLE}" Width="250" />
                    </GridView>
                </ListView.View>
            </ListView>

**list.xaml.cs**
    private void listV1_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {

                var item = listV1.SelectedItem;
                if (item != null)
                {
                    uid_tmp = "";
                    DbData selectedItem = (DbData)item;
                    db_tmp = selectedItem.Db;
                    Get_UIDDataAsync();

                }
            }
相关问题