设置ListView ItemTemplate并获取ObservableCollection相关对象

时间:2012-05-24 21:44:55

标签: .net wpf listview observablecollection itemssource

我有一个ListView,我将其ItemsSource属性设置为ObservableCollection

public class Item
{
    public string Name { get; set; }
}

所以:

ObservableCollection data = new ObservableCollection<Item>();
MyList.ItemsSource = data;

这是我的ListView

<ListView x:Name="MyList">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Button Click="Button_Click"/>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

现在我向我的ObservableCollection添加一个新项目,我抓住了Button_Click事件:

Item item1 = new Item();
item1.Name = "item1";
data.Add(item1);

private void Button_Click(Button sender, RoutedEventArgs e)
{
    // How to get item1 here from sender?
}

所以,我想让Item相对于我点击的按钮。我怎么能这样做?感谢。

1 个答案:

答案 0 :(得分:2)

您的Item也会出现在DataContextListViewItem的{​​{1}}中:

Button