2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 using System.ComponentModel;
20 using Tizen.NUI.Binding;
22 namespace Tizen.NUI.Xaml
24 /// <summary> The class to support theme resource path. </summary>
25 [EditorBrowsable(EditorBrowsableState.Never)]
26 [ContentProperty(nameof(FilePath))]
27 [AcceptEmptyServiceProvider]
28 public class ThemeResourcePathExtension : IMarkupExtension<string>
30 /// <summary></summary>
31 [EditorBrowsable(EditorBrowsableState.Never)]
32 public ThemeResourcePathExtension()
36 /// <summary></summary>
37 [EditorBrowsable(EditorBrowsableState.Never)]
38 public string FilePath { get; set; }
41 [EditorBrowsable(EditorBrowsableState.Never)]
42 public string ProvideValue(IServiceProvider serviceProvider) => ExternalThemeManager.SharedResourcePath + FilePath;
45 [EditorBrowsable(EditorBrowsableState.Never)]
46 object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider)
48 return (this as IMarkupExtension<string>).ProvideValue(serviceProvider);