2

私は を持っていて、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?
}

だから、クリックしたボタンに関連するアイテムを取得したい。どうすればこれを行うことができますか? ありがとう。

4

1 に答える 1

2

あなたItemはの中にDataContextありListViewItemButtonあまりにも:

private void Button_Click(object sender, RoutedEventArgs e)
{
    Button button = sender as Button;
    Item item = button.DataContext as Item;
}
于 2012-05-24T22:13:07.900 に答える