C# Silverlight ListBox在更改SelectedItem时抛出范围外异常
我有一些Silverlight XAML曾经可以工作,但我似乎不知道我做了什么使它突然停止工作,甚至不知道如何改变它 以下是一些XAML:C# Silverlight ListBox在更改SelectedItem时抛出范围外异常,c#,silverlight,mvvm,C#,Silverlight,Mvvm,我有一些Silverlight XAML曾经可以工作,但我似乎不知道我做了什么使它突然停止工作,甚至不知道如何改变它 以下是一些XAML: <ListBox ItemsSource="{Binding ItemsForSelectedPublisher}" SelectedItem="{Binding SelectedItemForPublisher, Mode=TwoWay}" DisplayMemberPath="ItemNameWithSelect
<ListBox ItemsSource="{Binding ItemsForSelectedPublisher}"
SelectedItem="{Binding SelectedItemForPublisher, Mode=TwoWay}"
DisplayMemberPath="ItemNameWithSelectionCount"
SelectionMode="Single"
HorizontalAlignment="Left"
FontSize="14"
Width="300"
Height="500"
/>
据我所知,列表框得到了一些不正确的索引,但不知道它是什么,也不知道为什么会发生这种情况。有人知道这是怎么发生的吗?在这一点上,我不知道还有什么地方可以看。经过大量的研究,我发现根本原因是我自己的错(这并不令人惊讶)。显然,我自己的代码中的错误在于对我的一些视图模型的Equals()重写不正确。这导致ListBox绑定失控并抛出超出范围的异常 你能提供更多的信息或代码吗?你能为你的ItemViewModel发布代码吗?
public ObservableCollection<ItemViewModel> ItemsForSelectedPublisher
{
get { return _itemsForSelectedPublisher; }
private set
{
if (_itemsForSelectedPublisher != value)
{
_itemsForSelectedPublisher = value;
RaisePropertyChanged(() => ItemsForSelectedPublisher);
}
}
}
public ItemViewModel SelectedItemForPublisher
{
get { return _selectedItemForPublisher; }
set
{
if (_selectedItemForPublisher != value)
{
_selectedItemForPublisher = value;
RaisePropertyChanged(() => SelectedItemForPublisher);
}
}
}