【发布时间】: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,无论您想做什么。