将ID添加到ListBox项

时间:2017-12-25 13:12:58

标签: c# wpf

我需要在最后一个列表框项目中添加ID (x:Uid="identifier")。我的列表框项目通过数据源填充,如下所示:

<ListBox x:Name="listbox1" Grid.Row="1" BorderThickness="0" 
     ItemsSource="{SomeBinding}">

可以在xaml中完成吗?

2 个答案:

答案 0 :(得分:1)

我不确定你想如何实现它,但这里有一些解决方案。

我认为你只需要ListBox中第一个和最后一个项目的ID。不确定你可以在没有太多工作和头痛的情况下在xaml中做到这一点。 你已将它绑定到某个对象。 让我们说:

XAML:

<ListBox x:Name="listbox1" ItemsSource="{Binding Items}"/>

代码背后:

private ObservableCollection<Item> _Items;
public ObservableCollection<Item> Items
{
    get { return _Items; }
    set { _Items = value; }
}

所以你可以这样做:

private void Button_Click(object sender, RoutedEventArgs e)
{
    var firstItem = Items[0];
    var lastItem = Items[Items.Count - 1];
}

答案 1 :(得分:0)

继承自ListBox您的自定义类。覆盖受保护的方法..不太记得哪个是名称......关于.GetContainerFor(...)的内容。从那里你可以返回new ListBoxItem()并根据你的喜好进行设置。