【问题标题】:How to fix ListView selection change?如何修复 ListView 选择更改?
【发布时间】:2015-08-31 23:49:22
【问题描述】:

我有一个 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,因此只有这样这些按钮才可以单击。如果我直接单击按钮,我希望它执行,所以如果我单击它,按钮实际上会立即单击,而无需先单击图像。这可能吗?如何实现?

【问题讨论】:

  • 删除所有内容并使用适当的 XAML 和 DataBinding,无论您想做什么。

标签: c# wpf


【解决方案1】:

这解决了我的问题。不完全是我想要的,但它确实有效,

Mouseover to select item in listbox in WPF

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

【讨论】:

    猜你喜欢
    • 2015-11-17
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多