From 586ca8ec7df212769ef5ddfb81a7c4163ec819b7 Mon Sep 17 00:00:00 2001 From: Fang Xiaohui Date: Mon, 11 Apr 2022 13:22:26 +0800 Subject: [PATCH 1/1] [Xaml] Support import other xaml as the source of resource dictionary --- .../src/public/XamlBinding/ResourceDictionary.cs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Tizen.NUI/src/public/XamlBinding/ResourceDictionary.cs b/src/Tizen.NUI/src/public/XamlBinding/ResourceDictionary.cs index 1051090..50fc3ce 100755 --- a/src/Tizen.NUI/src/public/XamlBinding/ResourceDictionary.cs +++ b/src/Tizen.NUI/src/public/XamlBinding/ResourceDictionary.cs @@ -25,6 +25,8 @@ using System.Globalization; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; + +using Tizen.NUI.Binding.Internals; using Tizen.NUI.Xaml; namespace Tizen.NUI.Binding @@ -77,19 +79,25 @@ namespace Tizen.NUI.Binding } /// - /// Gets or sets the URI of the merged resource dictionary. + /// Gets or sets the resource dictionary. /// - /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API. + /// Internal using, will never open. [EditorBrowsable(EditorBrowsableState.Never)] [TypeConverter(typeof(RDSourceTypeConverter))] - public Uri Source + public ResourceDictionary Source { - get { return source; } + get + { + return this; + } set { - if (source == value) - return; - throw new InvalidOperationException("Source can only be set from XAML."); //through the RDSourceTypeConverter + OnValuesChanged(value.ToArray()); + + foreach (var pair in value) + { + Add(pair.Key, pair.Value); + } } } -- 2.7.4