0

私のプロジェクトでは、Avalon Wizardからソースコードを埋め込もうとしていますが、何か奇妙なことが起こっており、うまく統合できません。

カスタムコントロールライブラリに次の構造があります

  • ウィザード
    • テーマ
      • Aero.NormalColor.xaml
      • Aero2.NormalColor.xaml
      • AeroWizardHeader.xaml
      • Generic.xaml
      • Wizard97.xaml
      • WizardAero.xaml
      • Generic.xaml
  • テーマ
    • Generic.xaml

Generic.xamlの中に、次の削除があります

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="CuratioCMS.Client.UI;Component/Wizard/Themes/Generic.xaml" />
</ResourceDictionary.MergedDictionaries>

Wizard / Themes / Generic.xaml内で、MergedDictionariesを定義する方法を説明します。

    <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="CuratioCMS.Client.UI;Component/Wizard/Themes/Wizard97.xaml" />
    <ResourceDictionary Source="CuratioCMS.Client.UI;Component/Wizard/Themes/WizardAero.xaml" />
    <ResourceDictionary Source="CuratioCMS.Client.UI;Component/Wizard/Themes/AeroWizardHeader.xaml" />
</ResourceDictionary.MergedDictionaries>

Avalonの実装によると、Aero.NormalColor.xaml内にもう1つMergedDictionaryが提供されています。これは次のようになります。

    <ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="CuratioCMS.Client.UI;Component/Wizard/Themes/AeroWizardHeader.xaml" />
</ResourceDictionary.MergedDictionaries>

私の問題は、デザイナーが次のような例外をスローするため、プロジェクトで自分のクラスライブラリを使用できないことです。リソース'wizard / themes / curatiocms.client.ui; component / widget / themes/wizard97.xaml'が見つかりません。

Wizard / Theme / Generic.xaml内のパスを変更すると、エラーは消えますが、WizardはAero機能を提供できず、デザイナーでさえ期待どおりに機能しません。

また、拡張WPFツールキットによるとこれは非常にクリーンな方法であるため、この種のアーキテクチャを採用することにしました。

誰かがこれで私を助けることができますか?

4

1 に答える 1

1

フルパックURI構文を使用してみましたか?

「コンポーネント」を「コンポーネント」に変更してみましたか?また、ディクショナリのビルドアクションがResourceに設定されており、CuratioCMS.Client.UIアセンブリを正しく参照していることを確認してください。

于 2012-10-07T23:36:47.967 に答える