从下面我对一般结合的问题,我想寻求帮助,在下面的情形.
我有一个通过ListBox控件中的DataTemplate显示的对象集合(imageFileData).控件绑定到ObservableCollection.集合和模板都在我的应用程序xaml和xaml.cs文件中定义.向集合中动态添加项目按预期工作,并在列表框中显示新的模板化项目.好.
我希望能够做的一件事是通过单击DataTemplate中定义的按钮从集合中删除特定项.为按钮定义Click处理程序允许我处理事件,但我不知道从哪里获取与模板化按钮相关的imageFileData对象.我的按钮的事件处理程序显然将按钮作为发件人和一组RoutedEventArgs传递,但我无法弄清楚如何将此数据与集合中的项目关联以允许我将其删除.
任何人都可以帮助我,或者我注定要尴尬和毫无结果的谷歌搜索,因为我不知道从哪里开始?;)
谢谢ZS
用于生成项目的数据将位于Button
's DataContext
(它继承自容器 - ListBoxItem
在您的情况下为a):
private void ButtonClicked(object sender, EventArgs e) { var button = sender as Button; var imageFileData = button.DataContext as ImageFileData; ... }