首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid:本地创建的对象属于不同的线程?

Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid:本地创建的对象属于不同的线程?
EN

Stack Overflow用户
提问于 2015-03-24 19:57:44
回答 1查看 294关注 0票数 0

只是看看它,它没有任何意义:

这些对象是在本地创建的,没有外部依赖项。怎么会这样呢?

(这里创建的类型是一个Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid)

下面是堆栈跟踪:

代码语言:javascript
复制
at System.Windows.Threading.Dispatcher.VerifyAccess()
at System.Windows.SystemResources.FindCachedResource(Object key, Object& resource, Boolean mustReturnDeferredResourceReference)
at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
at System.Windows.FrameworkElement.FindResourceInternal(FrameworkElement fe, FrameworkContentElement fce, DependencyProperty dp, Object resourceKey, Object unlinkedParent, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, DependencyObject boundaryElement, Boolean isImplicitStyleLookup, Object& source)
at System.Windows.FrameworkElement.FindResource(Object resourceKey)
at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.UpdateContainerHelper()
at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.OnSelectedObjectChanged(Object oldValue, Object newValue)
at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.OnSelectedObjectChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.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.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
at Xceed.Wpf.Toolkit.PropertyGrid.PropertyGrid.set_SelectedObject(Object value)
at GuiHelpers.Dialogs.PropertiesDialog.<>c__DisplayClass11.<Show>b__d() in c:\projects\pro\GuiHelpers\Dialogs\PropertiesDialog.cs:line 44
EN

回答 1

Stack Overflow用户

发布于 2015-03-24 20:35:25

在使用调度程序对UI线程执行某些初始化的情况下,您应该能够使用如下内容:

代码语言:javascript
复制
System.Windows.Application.Current.Dispatcher.Invoke(
    System.Windows.Threading.DispatcherPriority.Normal,
    (System.Action)delegate()
    {
         tempPropertyGrid.SelectedObject = new object();
    });

我不确定这是否解决了您的问题,但它可能值得一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29232092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档