Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
75
ButtonTool BitmapImage IsFrozen Error
posted

When the ButtonTools in our application change Enabled status, meaning the images will change gray/color, then we get the following error. The BitmapImages are not set to IsFrozen by us so I think the ButtonTool is doing it.

[2010-08-12 08:57:52,078] [1] ERROR ALMobile.Client.App - An unhandled exception has occurred: System.InvalidOperationException: Specified value of type 'System.Windows.Media.Imaging.BitmapImage' must have IsFrozen set to false to modify.
   at System.Windows.Freezable.WritePreamble()
   at System.Windows.Freezable.remove_Changed(EventHandler value)
   at System.Windows.ResourceReferenceExpression.ResourceReferenceExpressionWeakContainer.RemoveChangedHandler()
   at System.Windows.ResourceReferenceExpression.ResourceReferenceExpressionWeakContainer.InvalidateTargetSubProperty(Object sender, EventArgs args)
   at System.Windows.Freezable.FireChanged()
   at System.Windows.Freezable.Freeze(Boolean isChecking)
   at System.Windows.PropertyMetadata.DefaultFreezeValueCallback(DependencyObject d, DependencyProperty dp, EntryIndex entryIndex, PropertyMetadata metadata, Boolean isChecking)
   at System.Windows.Freezable.FreezeCore(Boolean isChecking)
   at System.Windows.Media.Animation.Animatable.FreezeCore(Boolean isChecking)
   at System.Windows.Media.Imaging.BitmapSource.FreezeCore(Boolean isChecking)
   at System.Windows.Freezable.Freeze(Boolean isChecking)
   at System.Windows.Freezable.Freeze()
   at Infragistics.Windows.Controls.AutoDisabledImage.CoerceSource(DependencyObject d, Object newValue)
   at System.Windows.DependencyObject.ProcessCoerceValue(DependencyProperty dp, PropertyMetadata metadata, EntryIndex& entryIndex, Int32& targetIndex, EffectiveValueEntry& newEntry, EffectiveValueEntry& oldEntry, Object& oldValue, Object baseValue, Object controlValue, CoerceValueCallback coerceValueCallback, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, Boolean skipBaseValueChecks)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp)
   at Infragistics.Windows.Controls.AutoDisabledImage.OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.PropertyChangedCallback.Invoke(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp)
   at System.Windows.UIElement.InvalidateForceInheritPropertyOnChildren(Visual v, DependencyProperty property)
   at System.Windows.UIElement.OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp)
   at System.Windows.UIElement.InvalidateForceInheritPropertyOnChildren(Visual v, DependencyProperty property)
   at System.Windows.UIElement.OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at Infragistics.Windows.Ribbon.RibbonButtonChrome.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp)
   at System.Windows.UIElement.InvalidateForceInheritPropertyOnChildren(Visual v, DependencyProperty property)
   at System.Windows.UIElement.OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.PropertyChangedCallback.Invoke(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.CoerceValue(DependencyProperty dp)
   at System.Windows.Controls.Primitives.ButtonBase.set_CanExecute(Boolean value)
   at System.Windows.Controls.Primitives.ButtonBase.UpdateCanExecute()
   at System.Windows.Controls.Primitives.ButtonBase.OnCanExecuteChanged(Object sender, EventArgs e)
   at ALMobile.WeakEventHandler`1.Invoke(Object sender, EventArgs e)
   at ALMobile.UI.ALMobileRoutedCommand.<OnCanExecuteChanged>b__1()
   at ALMobile.SynchronizationContextExtensionMethods.<>c__DisplayClass1.<RunInSync>b__0(Object ignored)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state, Boolean synchronous)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync(SynchronizationContext that, Action action)
   at ALMobile.UI.ALMobileRoutedCommand.OnCanExecuteChanged()
   at ALMobile.UI.ALMobileCommandBinding.ObjectToWatch_PropertyChanged(Object sender, PropertyChangedEventArgs e)
   at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
   at ALMobile.NotifyPropertyChangedBase.<>c__DisplayClass2.<OnPropertyChanged>b__0(String prop)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state, Boolean synchronous)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state)
   at ALMobile.NotifyPropertyChangedBase.OnPropertyChanged(String property)
   at ALMobile.Common.ViewModels.WorkspaceViewModelBase`4.set_ErrorText(String value)
   at ALMobile.Common.ViewModels.WorkspaceViewModelBase`4.OnCurrentItemDetailsViewModel_PropertyChanged(Object sender, PropertyChangedEventArgs e)
   at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
   at ALMobile.NotifyPropertyChangedBase.<>c__DisplayClass2.<OnPropertyChanged>b__0(String prop)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state, Boolean synchronous)
   at ALMobile.SynchronizationContextExtensionMethods.RunInSync[T](SynchronizationContext that, Action`1 action, T state)
   at ALMobile.NotifyPropertyChangedBase.OnPropertyChanged(String property)
   at ALMobile.Common.ViewModels.DetailViewModelBase.set_ErrorText(String value)
   at ALMobile.IErrorAwareExtensionMethods.HandleException(IErrorAware that, Exception x)
   at ALMobile.IErrorAwareExtensionMethods.TryOperation(IErrorAware that, Action operation)
   at ALMobile.Common.ViewModels.DetailViewModelBase.OnSave()
   at ALMobile.UI.ALMobileCommandBinding.<>c__DisplayClassa.<.ctor>b__7(Object s, ExecuteCommandEventArgs e)
   at ALMobile.UI.ALMobileCommandBinding.OnExecute(ExecuteCommandEventArgs args)
   at ALMobile.UI.ALMobileCommandManager.ExecuteCommand(ICommand command, Object parameter)
   at ALMobile.UI.ALMobileRoutedCommand.Execute(Object parameter)
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)