2

Prismフレームワークの小さなバリエーションに基づいてビジネスアプリを構築しています(動作にいくつかの変更がありますが、私の問題に影響を与える領域には何もありません.

vs2010 で devexpress dxwindow ウィザードを使用して作成されたシェル ウィンドウを使用して、シェル アプリケーションを作成しました。メイン コンテンツ用に devexpress レイアウト パネル内に領域を作成しました。次に、別のプロジェクトで devexpress コントロールを使用するビューを作成し、そのリージョンをターゲットにしました。

アプリが起動し、ビューが登録されると、(DI やその他のプログラミング概念の意味ではなく、論理的な意味で) 領域に "注入" され、devexpress テーマに関連しているように見える 1 つの大きなエラーが発生しますが、ぶっちゃけ、一体何が起こっているのかわかりません。WPF の知識は急速に増えていますが、まだかなり低いことを指摘しておく必要があります。

詳細はこちら...

System.Windows.Markup.XamlParseException occurred
  Message='The invocation of the constructor on type 'DevExpress.Xpf.LayoutControl.LayoutControl' that matches the specified binding constraints threw an exception.' Line number '14' and line position '10'.
  Source=PresentationFramework
  LineNumber=14
  LinePosition=10
  StackTrace:
       at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
       at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
       at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
       at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
       at MyProject.Wpf.Modules.Partner.PartnerView.InitializeComponent() in c:\Workspace\Projects\MyProject\trunk\src\Wpf\MyProject.Wpf.Modules.Partner\PartnerView.xaml:line 1
       at MyProject.Wpf.Modules.Partner.PartnerView..ctor() in C:\Workspace\Projects\MyProject\trunk\src\Wpf\MyProject.Wpf.Modules.Partner\PartnerView.xaml.cs:line 24
  InnerException: System.Xaml.XamlObjectWriterException
       Message=Set property 'System.Windows.ResourceDictionary.Source' threw an exception.
       Source=System.Xaml
       LineNumber=0
       LinePosition=0
       StackTrace:
            at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
            at MS.Internal.Xaml.Runtime.PartialTrustTolerantRuntime.SetValue(Object obj, XamlMember property, Object value)
            at System.Xaml.XamlObjectWriter.SetValue(Object inst, XamlMember property, Object value)
            at System.Xaml.XamlObjectWriter.Logic_ApplyPropertyValue(ObjectWriterContext ctx, XamlMember prop, Object value, Boolean onParent)
            at System.Xaml.XamlObjectWriter.Logic_DoAssignmentToParentProperty(ObjectWriterContext ctx)
            at System.Xaml.XamlObjectWriter.Logic_AssignProvidedValue(ObjectWriterContext ctx)
            at System.Xaml.XamlObjectWriter.WriteEndMember()
            at System.Xaml.XamlWriter.WriteNode(XamlReader reader)
            at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
            at System.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter)
            at System.Windows.SystemResources.ResourceDictionaries.LoadDictionary(Assembly assembly, String assemblyName, String resourceName, Boolean isTraceEnabled)
            at System.Windows.SystemResources.ResourceDictionaries.LoadGenericDictionary(Boolean isTraceEnabled)
            at System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
            at System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
            at System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
            at System.Windows.FrameworkElement.UpdateThemeStyleProperty()
            at System.Windows.FrameworkElement.OnThemeStyleKeyChanged(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.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 System.Windows.FrameworkElement.set_DefaultStyleKey(Object value)
            at DevExpress.Xpf.Core.CornerBox..ctor()
            at DevExpress.Xpf.Core.PanelControllerBase.CreateScrollBars()
            at DevExpress.Xpf.Core.PanelControllerBase.CheckScrollBars()
            at DevExpress.Xpf.Core.Controller.set_ScrollBars(ScrollBars value)
            at DevExpress.Xpf.Core.ScrollControlController..ctor(IScrollControl control)
            at DevExpress.Xpf.LayoutControl.LayoutControllerBase..ctor(ILayoutControlBase control)
            at DevExpress.Xpf.LayoutControl.LayoutGroupController..ctor(ILayoutGroup control)
            at DevExpress.Xpf.LayoutControl.LayoutControlController..ctor(ILayoutControl control)
            at DevExpress.Xpf.LayoutControl.LayoutControl.CreateController()
            at DevExpress.Xpf.Core.PanelBase..ctor()
            at DevExpress.Xpf.Core.ScrollControl..ctor()
            at DevExpress.Xpf.LayoutControl.LayoutControlBase..ctor()
            at DevExpress.Xpf.LayoutControl.LayoutGroup..ctor()
            at DevExpress.Xpf.LayoutControl.LayoutControl..ctor()
            at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.InvokeDelegate(Action`1 action, Object argument)
            at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CallCtorDelegate(XamlTypeInvoker type)
            at System.Xaml.Schema.XamlTypeInvoker.DefaultCtorXamlActivator.CreateInstance(XamlTypeInvoker type)
            at System.Xaml.Schema.XamlTypeInvoker.CreateInstance(Object[] arguments)
            at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstanceWithCtor(XamlType xamlType, Object[] args)
            at MS.Internal.Xaml.Runtime.ClrObjectRuntime.CreateInstance(XamlType xamlType, Object[] args)
       InnerException: System.Windows.Markup.XamlParseException
            Message=Set property 'System.Windows.ResourceDictionary.DeferrableContent' threw an exception.
            Source=PresentationFramework
            LineNumber=0
            LinePosition=0
            StackTrace:
                 at System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
                 at System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
                 at System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
                 at System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
                 at System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
                 at MS.Internal.AppModel.AppModelKnownContentFactory.BamlConverter(Stream stream, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter)
                 at MS.Internal.AppModel.MimeObjectFactory.GetObjectAndCloseStream(Stream s, ContentType contentType, Uri baseUri, Boolean canUseTopLevelBrowser, Boolean sandboxExternalContent, Boolean allowAsync, Boolean isJournalNavigation, XamlReader& asyncObjectConverter)
                 at System.Windows.ResourceDictionary.set_Source(Uri value)
                 at System.Windows.Baml2006.WpfSharedBamlSchemaContext.<Create_BamlProperty_ResourceDictionary_Source>b__1c4(Object target, Object value)
                 at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
                 at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
                 at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
            InnerException: System.TypeInitializationException
                 Message=The type initializer for 'DevExpress.Xpf.Core.ThemeManager' threw an exception.
                 Source=DevExpress.Xpf.Core.v10.2
                 TypeName=DevExpress.Xpf.Core.ThemeManager
                 StackTrace:
                      at DevExpress.Xpf.Core.ThemeManager.get_TraceSwitch()
                      at DevExpress.Xpf.Utils.Themes.DefaultStyleThemeKeyExtension.RegisterThemeType()
                      at DevExpress.Xpf.Utils.Themes.DefaultStyleThemeKeyExtension.ProvideValue(IServiceProvider serviceProvider)
                      at System.Windows.ResourceDictionary.EvaluateMarkupExtensionNodeList(XamlReader reader, IServiceProvider serviceProvider)
                      at System.Windows.ResourceDictionary.GetKeyValue(KeyRecord key, IServiceProvider serviceProvider)
                      at System.Windows.ResourceDictionary.SetKeys(IList`1 keyCollection, IServiceProvider serviceProvider)
                      at System.Windows.ResourceDictionary.SetDeferrableContent(DeferrableContent deferrableContent)
                      at System.Windows.Baml2006.WpfSharedBamlSchemaContext.<Create_BamlProperty_ResourceDictionary_DeferrableContent>b__168(Object target, Object value)
                      at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
                      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
                      at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)
                 InnerException: System.ArgumentException
                      Message=RoutedEvent Name 'ThemeChanged' for OwnerType 'System.Windows.DependencyObject' already used.
                      Source=PresentationCore
                      StackTrace:
                           at System.Windows.EventManager.RegisterRoutedEvent(String name, RoutingStrategy routingStrategy, Type handlerType, Type ownerType)
                           at DevExpress.Xpf.Core.ThemeManager..cctor()
                      InnerException:

ビューは静的アプリで動作します。つまり、領域を使用せず、ビューの外部で他の devexpress コントロールを使用しません。

どうもありがとう。

4

1 に答える 1

2

少し前に同じエラーが発生しました。私が見つけたのは、PC に複数のバージョンのコントロールがあり、DevExpress コントロールのバージョンが混在していたことです (私にとっては 11.1 と 11.2 でした)。

DevExpress テンプレートを使用している場合は、参照として追加されているコントロールのバージョンを確認する価値があります。新しいバージョンのコントロールを使用している場合、バージョンの不一致が発生する可能性があります。

于 2012-03-29T14:45:49.447 に答える