如何修复ListView选择更改?

时间:2015-08-31 13:23:06

标签: c# wpf

我有一个ListView,它的子节点是包含图像的grdis,还有四个按钮。它们都是动态填充的。以下是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,因此只有这些按钮变为可点击。如果我直接点击按钮,我希望它执行,所以如果我点击它,按钮实际上会立即点击,而不需要先点击图像。这可能吗?如何?

1 个答案:

答案 0 :(得分:0)

这解决了我的问题。不完全是我想要的,但它确实起到了作用,

this

那么,我的问题主要是我需要先点击listview项目才能点击项目中的按钮。在我所包含的链接中,您可以看到,如果我们向listivew添加适当的事件,那么当我们悬停项目时,更改的选择会自动触发,就像我们点击它一样,这样可以节省一次点击并启用所需的按钮只要鼠标在项目上方。这有点作弊,但主要的是鼠标指针在实际触摸项目中的像素之前不会在listview项目中对此按钮进行操作。