This is a migrated thread and some comments may be shown as answers.

Telerik Reporting inside a WPF MAF (System.Addin) control

4 Answers 79 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Adam
Top achievements
Rank 1
Adam asked on 24 Nov 2010, 04:47 AM

I am using MAF (System.Addin) to display a WPF control onto a shared main form. When I add the telerik reportviewer I am getting a exception that I am trying to access a different thread then the one that owns the control. If you look through the exception stack you can see a reference to Application.Mainwindow however, since I am in a Addin the application mainwindow does not belong to my domain.

Is there a way to set the Application.Mainwindow inside of a Addin object?

System.Windows.Markup.XamlParseException occurred
 
Message=Cannot create instance of 'RadSlider' defined in assembly 'Telerik.Windows.Controls, Version=2010.3.1110.35, Culture=neutral, PublicKeyToken=5803cfa389c90ce7'. Exception has been thrown by the target of an invocation.  Error at object 'System.Windows.Controls.StackPanel' in markup file 'Telerik.ReportViewer.Wpf;component/Themes/Default/ReportViewer.xaml'.
 
Source=PresentationFramework
 
LineNumber=0
 
LinePosition=0
 
NameContext=87_T
 
StackTrace:
       at
System.Windows.Markup.XamlParseException.ThrowException(String message, Exception innerException, Int32 lineNumber, Int32 linePosition, Uri baseUri, XamlObjectIds currentXamlObjectIds, XamlObjectIds contextXamlObjectIds, Type objectType)
       at
System.Windows.Markup.XamlParseException.ThrowException(ParserContext parserContext, Int32 lineNumber, Int32 linePosition, String message, Exception innerException)
       at
System.Windows.Markup.BamlRecordReader.ThrowExceptionWithLine(String message, Exception innerException)
       at
System.Windows.Markup.BamlRecordReader.CreateInstanceFromType(Type type, Int16 typeId, Boolean throwOnFail)
       at
System.Windows.Markup.BamlRecordReader.GetElementAndFlags(BamlElementStartRecord bamlElementStartRecord, Object& element, ReaderFlags& flags, Type& delayCreatedType, Int16& delayCreatedTypeId)
       at
System.Windows.Markup.BamlRecordReader.BaseReadElementStartRecord(BamlElementStartRecord bamlElementRecord)
       at
System.Windows.Markup.BamlRecordReader.ReadElementStartRecord(BamlElementStartRecord bamlElementRecord)
       at
System.Windows.Markup.BamlRecordReader.ReadRecord(BamlRecord bamlRecord)
       at
System.Windows.StyleHelper.LoadOptimizedTemplateContent(DependencyObject container, ParserContext parserContext, OptimizedTemplateContent optimizedTemplateContent, FrameworkTemplate frameworkTemplate, IComponentConnector componentConnector, IStyleConnector styleConnector, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
       at
System.Windows.FrameworkTemplate.LoadContent(DependencyObject container, List`1 affectedChildren, UncommonField`1 templatedNonFeChildrenField)
       at
System.Windows.StyleHelper.ApplyTemplateContent(UncommonField`1 dataField, DependencyObject container, FrameworkElementFactory templateRoot, Int32 lastChildIndex, HybridDictionary childIndexFromChildID, FrameworkTemplate frameworkTemplate)
       at System.Windows.FrameworkTemplate.ApplyTemplateContent(UncommonField`
1 templateDataField, FrameworkElement container)
       at
System.Windows.FrameworkElement.ApplyTemplate()
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at MS
.Internal.Helper.MeasureElementWithSingleChild(UIElement element, Size constraint)
       at
System.Windows.Controls.ContentPresenter.MeasureOverride(Size constraint)
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at
System.Windows.Controls.Border.MeasureOverride(Size constraint)
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at
System.Windows.Controls.Control.MeasureOverride(Size constraint)
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at
System.Windows.Controls.DockPanel.MeasureOverride(Size constraint)
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at
System.Windows.Controls.Decorator.MeasureOverride(Size constraint)
       at
System.Windows.Documents.AdornerDecorator.MeasureOverride(Size constraint)
       at
System.Windows.FrameworkElement.MeasureCore(Size availableSize)
       at
System.Windows.UIElement.Measure(Size availableSize)
       at
System.Windows.Interop.HwndSource.SetLayoutSize()
       at
System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
       at
System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
       at
System.Windows.Forms.Integration.ElementHost.OnHandleCreated(EventArgs e)
       at
System.Windows.Forms.Control.WmCreate(Message& m)
       at
System.Windows.Forms.Control.WndProc(Message& m)
       at
System.Windows.Forms.Integration.ElementHost.WndProc(Message& m)
       at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at
System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at
System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at
System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
       at
System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
       at
System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
       at
System.Windows.Forms.Control.CreateHandle()
       at
System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at
System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at
System.Windows.Forms.Control.CreateControl()
       at
System.Windows.Forms.Control.WmShowWindow(Message& m)
       at
System.Windows.Forms.Control.WndProc(Message& m)
       at
System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at
System.Windows.Forms.ContainerControl.WndProc(Message& m)
       at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at
System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at
System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       at
System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
       at
System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32 dwExStyle, String lpszClassName, String lpszWindowName, Int32 style, Int32 x, Int32 y, Int32 width, Int32 height, HandleRef hWndParent, HandleRef hMenu, HandleRef hInst, Object pvParam)
       at
System.Windows.Forms.NativeWindow.CreateHandle(CreateParams cp)
       at
System.Windows.Forms.Control.CreateHandle()
       at
System.Windows.Forms.Control.get_Handle()
       at
System.Windows.Forms.Integration.WindowsFormsHost.BuildWindowCore(HandleRef hwndParent)
       at
System.Windows.Interop.HwndHost.BuildWindow(HandleRef hwndParent)
       at
System.Windows.Interop.HwndHost.BuildOrReparentWindow()
       at
System.Windows.Interop.HwndHost.OnSourceChanged(Object sender, SourceChangedEventArgs e)
       at
System.Windows.SourceChangedEventArgs.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.RaiseEvent(RoutedEventArgs e)
       at
System.Windows.PresentationSource.UpdateSourceOfElement(DependencyObject doTarget, DependencyObject doAncestor, DependencyObject doOldParent)
       at
System.Windows.PresentationSource.RootChanged(Visual oldRoot, Visual newRoot)
       at
System.Windows.Interop.HwndSource.set_RootVisualInternal(Visual value)
       at
System.Windows.Interop.HwndSource.set_RootVisual(Visual value)
       at
System.AddIn.Pipeline.FrameworkElementAdapters.ViewToContractAdapter(FrameworkElement root)
       at DRIP
.AddIn.Adapter.DRIPAddInViewToContractAdapter.UrlHandler(String uri)
 
InnerException: System.Reflection.TargetInvocationException
       
Message=Exception has been thrown by the target of an invocation.
       
Source=mscorlib
       
StackTrace:
            at
System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
            at
System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
            at
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
            at
System.Activator.CreateInstance(Type type, Boolean nonPublic)
            at
System.Windows.Markup.BamlRecordReader.CreateInstanceFromType(Type type, Int16 typeId, Boolean throwOnFail)
       
InnerException: System.InvalidOperationException
           
Message=The calling thread cannot access this object because a different thread owns it.
           
Source=WindowsBase
           
StackTrace:
                 at
System.Windows.Threading.Dispatcher.VerifyAccess()
                 at
System.Windows.Threading.DispatcherObject.VerifyAccess()
                 at
System.Windows.Application.get_MainWindow()
                 at
Telerik.Windows.Controls.RadSlider..ctor() in c:\Builds\WPF_Scrum\Release_WPF_2010_Q3\Sources\Development\Core\Controls\Slider\RadSlider.cs:line 217
           
InnerException:

4 Answers, 1 is accepted

Sort by
0
Adam
Top achievements
Rank 1
answered on 24 Nov 2010, 04:54 AM
Sorry, copied this post when i asked it to a System.Addin community. In this community, I would like to know if I am able to remove the requirement on the RadSlider control if I am unable to get it to work within my Addin model. Thanks, Adam
0
Kiril Stanoev
Telerik team
answered on 24 Nov 2010, 04:23 PM
Hi Adam,

We've posted an answer to your other forum post.

Regards,
Kiril Stanoev
the Telerik team
Browse the videos here>> to help you get started with RadControls for WPF
0
Adam
Top achievements
Rank 1
answered on 24 Nov 2010, 05:10 PM
It does not look like I will be able to use the RadSlider. Is there a way for me to remove it from the control?
0
Kiril Stanoev
Telerik team
answered on 26 Nov 2010, 12:10 PM
Hello Adam,

Today we have an internal build, which you can download and try whether you will receive the error or not. Another option is to download the source code, remove the part that is causing the issue and compile it again.

Sincerely yours,
Kiril Stanoev
the Telerik team
Browse the videos here>> to help you get started with RadControls for WPF
Tags
General Discussions
Asked by
Adam
Top achievements
Rank 1
Answers by
Adam
Top achievements
Rank 1
Kiril Stanoev
Telerik team
Share this question
or