如何修复ListView选择更改

本文关键字:选择 ListView 何修复 | 更新日期: 2023-09-27 18:10:37

我有一个ListView,它的子视图是包含一个图像和四个按钮的网格。它们都是动态填充的。下面是ListView的选择更改事件的代码:

 private void Thumbnails_SelectionChanged(object sender, SelectionChangedEventArgs e) //display large png on click of thumbnail and slide notes
        {
            item = Thumbnails.SelectedIndex + 1; //get original index for each element in ListView

            if (LargePic.Children.Count > 0)
            {
                LargePic.Children.RemoveAt(LargePic.Children.Count - 1); //clear first item in StackPanel
            }

            LargePic.Children.Add(image_array[item - 1]); //show large png of selected ppt as first item in StackPanel

            SlideNotes.Text = slide_notes[item - 1]; //show slide notes in a box below large preview
            //GetNotes(PowerPoint_App, presentation)[item - 1];
            finalize_import.IsEnabled = true; //enable button for next screen
            //selection
            all_hide_buttons[item - 1].Click += Hide_Buton_Click;
            all_show_buttons[item - 1].Click += Show_Buton_Click;
            hide_fade_in_animations[item - 1].Click += Hide_Fade_In_Animations_Click;
            show_fade_in_animations[item - 1].Click += Show_Fade_In_Animations_Click;

        } 

因此,正如您所看到的,只有在列表中选择了特定的子(项)并根据该项号进一步执行某些操作时,才能单击按钮。我的问题是,SelectionChanged得到执行只有当我点击的图像,这是在列表中的子网格的一部分,所以只有这些按钮变得可点击。我想让它在我直接点击按钮时执行,所以如果我点击它,按钮会立即点击,而不需要先点击图像。这可能吗?如何实现?

如何修复ListView选择更改

这解决了我的问题。不完全是我想要的,但它的工作,

鼠标悬停在WPF列表框中选择项目

所以,然后主要的事情在我的问题是,我需要单击listview项目首先,以便能够单击项目内的按钮。在我所包含的链接中,您可以看到,如果我们向listview添加适当的事件,那么当我们悬停一个项目时,选择更改会自动触发,就像我们单击它一样,这节省了一次点击,并在鼠标位于项目上时立即启用所需的按钮。这是有点作弊,但主要的事情是,鼠标指针不能使这个按钮在listview项目中,直到实际接触到项目的一个像素。