- Status Closed
- Percent Complete
- Task Type Fehlerbericht
- Category GUI & Server → GUI
- Assigned To No-one
- Operating System All
- Severity Low
- Reported Version 3.3 Beta x
- Due in Version 3.3.0
-
Due Date
Undecided
- Votes
- Private
Attached to Project: DMXControl 3
Opened by StefanKrupop - 27.08.2023
Last edited by LightningBrothers - 16.09.2023
Opened by StefanKrupop - 27.08.2023
Last edited by LightningBrothers - 16.09.2023
FS#5127 - GUI stürzt ab, sobald (dieses) Projekt mit Presets geladen wird
Versuche ich mit Beta 8 oder Beta 9 das angehängte Projekt zu öffnen, stürzt die GUI ab (Dialog für ungefangene Exception).
Im GUI-Log findet sich mehrfach folgende Exception:
2023-08-27 12:59:45,710 [Main GUI] ERROR Lumos.GUI.App - Exception in WPF System.InvalidOperationException: Ein ItemsControl ist nicht konsistent mit seiner Elementquelle. Weitere Informationen finden Sie in der inneren Ausnahme. ---> System.Exception: Informationen für Entwickler (Text-Schnellansicht zum Lesen verwenden): Die Ausnahme wurde ausgelöst, da der Generator für Steuerelement 'System.Windows.Controls.ListBox Items.Count:28' mit dem Namen 'LPresetList' eine Reihe von CollectionChanged-Ereignissen empfangen hat, die nicht mit dem aktuellen Status der Elementsammlung übereinstimmen. Die folgenden Unterschiede wurden festgestellt: Gesammelte Anzahl 27 unterscheidet sich von der tatsächlichen Anzahl 28. [Gesammelte Anzahl ist (Anzahl bei letztem Reset + #Adds - #Removes seit letztem Reset).] Eine oder mehrere der folgenden Quellen haben möglicherweise falsche Ereignisse ausgelöst: System.Windows.Controls.ItemContainerGenerator System.Windows.Controls.ItemCollection System.Windows.Data.ListCollectionView * LumosControlsWPF.Tools.DispatchedObservableCollection`1[[LumosControlsWPF.Controls.UserControls.Presets.ViewModel.Interface.IPresetItemViewModel, LumosControlsWPF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] (Die beteiligten Quellen werden als die wahrscheinlichere Ursache des Problems betrachtet.) Die häufigsten Ursachen umfassen (a) das Ändern der Sammlung oder deren Anzahl ohne Auslösen eines entsprechenden Ereignisses sowie (b) das Auslösen eines Ereignisses mit falschem Index- oder Elementparameter. Die Stapelüberwachung der Ausnahme beschreibt wie die Inkonsistenzen festgestellt wurden, jedoch nicht wie diese aufgetreten sind. Um eine zeitnahe Ausnahme zu erhalten, legen Sie die zugehörige Eigenschaft 'PresentationTraceSources.TraceLevel' für den Generator auf den Wert 'High' fest und führen das Szenario erneut aus. Eine Möglichkeit dazu ist die Ausführung eines Befehls ähnlich dem folgenden: System.Diagnostics.PresentationTraceSources.SetTraceLevel(myItemsControl.ItemContainerGenerator, System.Diagnostics.PresentationTraceLevel.High) im Direktfenster. Dadurch wird die Erkennungslogik nach jedem CollectionChanged-Ereignis ausgeführt, sodass die Anwendung verlangsamt wird. --- Ende der internen Ausnahmestapelüberwachung --- bei System.Windows.Controls.ItemContainerGenerator.Verify() bei System.Windows.Controls.VirtualizingStackPanel.MeasureChild(IItemContainerGenerator& generator, IContainItemStorage& itemStorageProvider, IContainItemStorage& parentItemStorageProvider, Object& parentItem, Boolean& hasUniformOrAverageContainerSizeBeenSet, Double& computedUniformOrAverageContainerSize, Double& computedUniformOrAverageContainerPixelSize, Boolean& computedAreContainersUniformlySized, Boolean& hasAnyContainerSpanChanged, IList& items, Object& item, IList& children, Int32& childIndex, Boolean& visualOrderChanged, Boolean& isHorizontal, Size& childConstraint, Rect& viewport, VirtualizationCacheLength& cacheSize, VirtualizationCacheLengthUnit& cacheUnit, Int64& scrollGeneration, Boolean& foundFirstItemInViewport, Double& firstItemInViewportOffset, Size& stackPixelSize, Size& stackPixelSizeInViewport, Size& stackPixelSizeInCacheBeforeViewport, Size& stackPixelSizeInCacheAfterViewport, Size& stackLogicalSize, Size& stackLogicalSizeInViewport, Size& stackLogicalSizeInCacheBeforeViewport, Size& stackLogicalSizeInCacheAfterViewport, Boolean& mustDisableVirtualization, Boolean isBeforeFirstItem, Boolean isAfterFirstItem, Boolean isAfterLastItem, Boolean skipActualMeasure, Boolean skipGeneration, Boolean isAncestorLookingForFirstItem, Boolean& hasBringIntoViewContainerBeenMeasured, Boolean& hasVirtualizingChildren) bei System.Windows.Controls.VirtualizingStackPanel.MeasureOverrideImpl(Size constraint, Nullable`1& lastPageSafeOffset, List`1& previouslyMeasuredOffsets, Nullable`1& lastPagePixelSize, Boolean remeasure) bei System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) bei System.Windows.Controls.ItemsPresenter.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) bei System.Windows.Controls.ScrollContentPresenter.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) bei System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) bei System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) bei System.Windows.Controls.Grid.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.ScrollViewer.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Border.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Control.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Grid.MeasureCell(Int32 cell, Boolean forceInfinityV) bei System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV, Boolean& hasDesiredSizeUChanged) bei System.Windows.Controls.Grid.MeasureCellsGroup(Int32 cellsHead, Size referenceSize, Boolean ignoreDesiredSizeU, Boolean forceInfinityV) bei System.Windows.Controls.Grid.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) bei System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Border.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Control.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Grid.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei MS.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint) bei System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Border.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.Control.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Controls.DockPanel.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint) bei System.Windows.FrameworkElement.MeasureCore(Size availableSize) bei System.Windows.UIElement.Measure(Size availableSize) bei System.Windows.ContextLayoutManager.UpdateLayout() bei System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg) bei System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork() bei System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() bei System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) bei System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
Closed by LightningBrothers
16.09.2023 19:17
Reason for closing: Repariert
Additional comments about closing:
16.09.2023 19:17
Reason for closing: Repariert
Additional comments about closing:
Bitte in Beta 10 testen