Closed nayaku closed 6 months ago
When I update the data in Model, ArgumentoutOutoFRANGEEXCEPTION will appear. But I don't know the reason and trigger. This error only appears in 3.5.0, and this error will not occur in 3.4.5.
MVVM framwork: Stylet Flolowing is my call stack:
System.ArgumentOutOfRangeException HResult=0x80131502 Message=Specified argument was out of the range of valid values. Arg_ParamName_Name Source=WindowsBase StackTrace: 在 MS.Utility.FrugalObjectList`1.get_Item(Int32 index) 在 System.Windows.Freezable.GetChangeHandlersAndInvalidateSubProperties(EventStorage& calledHandlers) 在 System.Windows.Freezable.FireChanged() 在 HandyControl.Interactivity.Behavior.Detach() 在 HandyControl.Interactivity.BehaviorCollection.ItemRemoved(Behavior item) 在 HandyControl.Controls.PanelElement.OnFluidMoveBehaviorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 在 System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue) 在 System.Windows.StyleHelper.ClearTemplateChain(HybridDictionary[] instanceData, FrameworkElement feContainer, FrameworkContentElement fceContainer, List`1 templateChain, FrameworkTemplate oldFrameworkTemplate) 在 System.Windows.StyleHelper.ClearGeneratedSubTree(HybridDictionary[] instanceData, FrameworkElement feContainer, FrameworkContentElement fceContainer, FrameworkTemplate oldFrameworkTemplate) 在 System.Windows.StyleHelper.DoTemplateInvalidations(FrameworkElement feContainer, FrameworkTemplate oldFrameworkTemplate) 在 System.Windows.Controls.ItemsPresenter.OnTemplateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 在 System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal) 在 System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) 在 System.Windows.FrameworkElement.ApplyTemplate() 在 System.Windows.Controls.ScrollContentPresenter.HookupScrollingComponents() 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 在 System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue) 在 System.Windows.StyleHelper.InvalidateContainerDependents(DependencyObject container, FrugalStructList`1& exclusionContainerDependents, FrugalStructList`1& oldContainerDependents, FrugalStructList`1& newContainerDependents) 在 System.Windows.StyleHelper.DoStyleInvalidations(FrameworkElement fe, FrameworkContentElement fce, Style oldStyle, Style newStyle) 在 System.Windows.FrameworkElement.OnStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 在 System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue) 在 System.Windows.StyleHelper.InvalidateResourceDependentsForChild(DependencyObject container, DependencyObject child, Int32 childIndex, ResourcesChangeInfo info, FrameworkTemplate parentTemplate) 在 System.Windows.TreeWalkHelper.InvalidateStyleAndReferences(DependencyObject d, ResourcesChangeInfo info, Boolean containsTypeOfKey) 在 System.Windows.TreeWalkHelper.OnResourcesChanged(DependencyObject d, ResourcesChangeInfo info, Boolean raiseResourceChangedEvent) 在 System.Windows.FrameworkElement.OnAncestorChangedInternal(TreeChangeInfo parentTreeState) 在 System.Windows.TreeWalkHelper.OnAncestorChanged(DependencyObject d, TreeChangeInfo info, Boolean visitedViaVisualTree) 在 MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree) 在 System.Windows.DescendentsWalker`1.VisitNode(FrameworkElement fe, Boolean visitedViaVisualTree) 在 System.Windows.DescendentsWalker`1.WalkLogicalChildren(FrameworkElement feParent, FrameworkContentElement fceParent, IEnumerator logicalChildren) 在 System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren) 在 System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d) 在 MS.Internal.PrePostDescendentsWalker`1._VisitNode(DependencyObject d, Boolean visitedViaVisualTree) 在 System.Windows.DescendentsWalker`1.VisitNode(FrameworkElement fe, Boolean visitedViaVisualTree) 在 System.Windows.DescendentsWalker`1.WalkFrameworkElementLogicalThenVisualChildren(FrameworkElement feParent, Boolean hasLogicalChildren) 在 System.Windows.DescendentsWalker`1.IterateChildren(DependencyObject d) 在 System.Windows.DescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode) 在 MS.Internal.PrePostDescendentsWalker`1.StartWalk(DependencyObject startNode, Boolean skipStartNode) 在 System.Windows.TreeWalkHelper.InvalidateOnTreeChange(FrameworkElement fe, FrameworkContentElement fce, DependencyObject parent, Boolean isAddOperation) 在 System.Windows.FrameworkElement.OnVisualParentChanged(DependencyObject oldParent) 在 System.Windows.Media.Visual.FireOnVisualParentChanged(DependencyObject oldParent) 在 System.Windows.Media.Visual.RemoveVisualChild(Visual child) 在 System.Windows.Media.VisualCollection.Clear() 在 System.Windows.Controls.UIElementCollection.ClearInternal() 在 System.Windows.Controls.Panel.ClearChildren() 在 System.Windows.Controls.Panel.OnItemsChangedInternal(Object sender, ItemsChangedEventArgs args) 在 System.Windows.Controls.Panel.OnItemsChanged(Object sender, ItemsChangedEventArgs args) 在 System.Windows.Controls.ItemContainerGenerator.OnRefresh() 在 System.Windows.Controls.ItemContainerGenerator.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args) 在 System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType) 在 System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args) 在 System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args) 在 System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType) 在 System.Windows.WeakEventManager.DeliverEvent(Object sender, EventArgs args) 在 System.Windows.Data.CollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args) 在 System.Windows.Data.ListCollectionView.RefreshOverride() 在 System.Windows.Data.CollectionView.RefreshInternal() 在 System.Windows.Data.CollectionView.DeferHelper.Dispose() 在 System.Windows.Controls.ItemCollection.SetCollectionView(CollectionView view) 在 System.Windows.Controls.ItemsControl.OnItemsSourceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) 在 System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) 在 System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) 在 System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType) 在 System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue) 在 System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange) 在 MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange) 在 MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName) 在 System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType) 在 System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args) 在 Stylet.PropertyChangedBase.<>c__DisplayClass10_0.<OnPropertyChanged>b__0() 在 Stylet.Execute.<>c.<.cctor>b__9_0(Action a) 在 Stylet.PropertyChangedBase.OnPropertyChanged(String propertyName) 在 Stylet.PropertyChangedBase.NotifyOfPropertyChange(String propertyName) 在 ImageManager.ViewModels.MainPageViewModel.set_Pictures(BindableCollection`1 value) 在 E:\code\Csharp\ImageManager3.1\ImageManager\ImageManager\ViewModels\MainPageViewModel.cs 中: 第 37 行 在 ImageManager.ViewModels.MainPageViewModel.UpdatePicture() 在 E:\code\Csharp\ImageManager3.1\ImageManager\ImageManager\ViewModels\MainPageViewModel.cs 中: 第 211 行 在 ImageManager.ViewModels.MainPageViewModel.UpdateIsDesc(String isDescString) 在 E:\code\Csharp\ImageManager3.1\ImageManager\ImageManager\ViewModels\MainPageViewModel.cs 中: 第 363 行 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor) 在 System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
File: MainPageViewModel.cs MainPageView.xaml.cs
No response
None
Visual Studio 2022
report it in original repo
Describe the bug
When I update the data in Model, ArgumentoutOutoFRANGEEXCEPTION will appear. But I don't know the reason and trigger. This error only appears in 3.5.0, and this error will not occur in 3.4.5.
MVVM framwork: Stylet Flolowing is my call stack:
File: MainPageViewModel.cs MainPageView.xaml.cs
Steps to reproduce the bug
Expected behavior
No response
Screenshots
No response
NuGet package version
None
IDE
Visual Studio 2022
Framework type
No response
Windows version
No response
Additional context
No response