【问题标题】:Set ListView ItemTemplate and get ObservableCollection related object设置 ListView ItemTemplate 并获取 ObservableCollection 相关对象
【发布时间】:2012-05-24 21:44:54
【问题描述】:

我有一个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?
}

所以,我想获取与我单击的按钮相关的项目。我怎么能这样做?谢谢。

【问题讨论】:

    标签: .net wpf listview observablecollection itemssource


    【解决方案1】:

    您的Item 将位于ListViewItemDataContextButton 中:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        Button button = sender as Button;
        Item item = button.DataContext as Item;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-01-27
      • 2017-12-05
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2017-12-25
      • 2018-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多