Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向列表框项添加Id_C#_Wpf - Fatal编程技术网

C# 向列表框项添加Id

C# 向列表框项添加Id,c#,wpf,C#,Wpf,我需要在最后一个和第一个列表框项中添加一个ID(x:Uid=“identifier”)。我的列表框项目通过如下数据源填充: <ListBox x:Name="listbox1" Grid.Row="1" BorderThickness="0" ItemsSource="{SomeBinding}"> private void Button_Click(object sender, RoutedEventArgs e) { var firstItem = Item

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

<ListBox x:Name="listbox1" Grid.Row="1" BorderThickness="0" 
     ItemsSource="{SomeBinding}">
private void Button_Click(object sender, RoutedEventArgs e)
{
    var firstItem = Items[0];
    var lastItem = Items[Items.Count - 1];
}


可以在xaml中完成吗

从您的自定义类继承。重写受保护的方法。。不太记得是哪个名字。。。有关(…)的
.GetContainerFor的信息。从那里,您可以返回
newlistboxitem()
,并根据需要进行设置

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

我想你只需要列表框中第一个和最后一个项目的ID。不确定您是否可以在xaml中完成它,而不需要做很多工作和头痛。 您已经将其绑定到某个对象。 比如说:

XAML:


您可以使用
ItemsSource
绑定源ID对不起,我不明白-Items source只是一个绑定“映射”,如何才能确定ItemsSource的哪个元素是第一个还是最后一个?
Listbox
将仅按项目顺序绑定项目Y,我想我可以在ViewModel中获得它们,但是我不认为这个项目有一些Uid字段。
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];
}