我有一个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,因此只有这些按钮变为可点击。如果我直接点击按钮,我希望它执行,所以如果我点击它,按钮实际上会立即点击,而不需要先点击图像。这可能吗?如何?
答案 0 :(得分:0)
这解决了我的问题。不完全是我想要的,但它确实起到了作用,
那么,我的问题主要是我需要先点击listview项目才能点击项目中的按钮。在我所包含的链接中,您可以看到,如果我们向listivew添加适当的事件,那么当我们悬停项目时,更改的选择会自动触发,就像我们点击它一样,这样可以节省一次点击并启用所需的按钮只要鼠标在项目上方。这有点作弊,但主要的是鼠标指针在实际触摸项目中的像素之前不会在listview项目中对此按钮进行操作。