現在のUWPアプリケーションで複数のコントロールのスタイルを含むResourceDictionary
を分割しようとしています。このファイルは約3000行にまで拡大しており、管理が難しくなっているので、それをより細かく分割してResourceDictionaries
に変更し、MergedDictionaries
を使用するようにしました。UWPのMergedDictionariesでResourceDestariesをネストする
App.xaml
<common:BootStrapper x:Class="Asteria.Ion.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:common="using:Template10.Common"
xmlns:styles="using:Asteria.Ion.Styles"
RequestedTheme="Dark">
<common:BootStrapper.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles\Custom.xaml" />
<ResourceDictionary Source="Styles\CustomControls.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</common:BootStrapper.Resources>
</common:BootStrapper>
CustomControls.xaml
他ResourceDictionaries
への参照が含まれています。
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="using:Template10.Controls"
xmlns:behaviors="using:Template10.Behaviors"
xmlns:interactivity="using:Microsoft.Xaml.Interactivity"
xmlns:local="using:Asteria.Ion.Styles">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Shared.xaml" />
<ResourceDictionary Source="Templates.xaml" />
<ResourceDictionary Source="ComponentBlock.xaml" />
<ResourceDictionary Source="FlowAgent.xaml" />
<ResourceDictionary Source="Planning.xaml" />
<ResourceDictionary Source="ProjectDialog.xaml" />
<ResourceDictionary Source="Inspector.xaml" /-->
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
これは、常に次の例外を生成します: Failed to assign to property 'Windows.UI.Xaml.ResourceDictionary.Source' because the type 'Windows.Foundation.String' cannot be assigned to the type 'Windows.Foundation.Uri'. [Line: 12 Position: 37]
を私はソースURIに何度も変更しようとしましたが、それはこのエラーを与え続けています。 CustomControls.xaml
のすべてのResourceDictionary
要素をコメントアウトするだけで役立ちます。しかし、私はもちろん、スタイルの欠如に関する例外を取得します。
いくつかのURIフォーマットは、私が試してみた:の
/Styles/Shared.xaml
Styles/Shared.xaml
Styles\Shared.xaml
.\Shared.xaml
ms-appx:///Styles/Shared.xaml
なし仕事。
アドバイスをいただければ幸いです。
私は外部のアセンブリのスタイルを参照しようとしていません。 –
私は参照してください。とにかくこの構文を試してみるべきでしょうか? –