From 5f2bb6f12a90edd8538e4f9078e67455cc4d19e7 Mon Sep 17 00:00:00 2001 From: "EverLEEst(SangHyeon Lee)" Date: Thu, 15 Dec 2022 20:38:44 +0900 Subject: [PATCH] [NUI] add ImageUrl property on DefaultGridItem. --- .../RecyclerView/Item/DefaultGridItem.cs | 43 +++++++++++-------- .../Item/DefaultGridItemBindableProperty.cs | 19 ++++++++ 2 files changed, 45 insertions(+), 17 deletions(-) diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs index 499f1e900..843cdb562 100755 --- a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs +++ b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItem.cs @@ -164,23 +164,32 @@ namespace Tizen.NUI.Components } } - /* open when ImageView using Uri not string - /// - /// Image image's resource url in DefaultGridItem. - /// - [EditorBrowsable(EditorBrowsableState.Never)] - public string ImageUrl - { - get - { - return Image.ResourceUrl; - } - set - { - Image.ResourceUrl = value; - } - } - */ + /// + /// Image image's resource url in DefaultGridItem. + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public string ImageUrl + { + get => GetValue(ImageUrlProperty) as string; + set + { + SetValue(ImageUrlProperty, value); + NotifyPropertyChanged(); + } + } + + internal string InternalImageUrl + { + get + { + return Image.ResourceUrl; + } + set + { + Image.ResourceUrl = value; + } + } + /// /// DefaultGridItem's text part. diff --git a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs index 4a62d0fdf..443e2e0c7 100755 --- a/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs +++ b/src/Tizen.NUI.Components/Controls/RecyclerView/Item/DefaultGridItemBindableProperty.cs @@ -42,6 +42,25 @@ namespace Tizen.NUI.Components return instance.InternalText; }); + + /// + /// ImageUrlProperty + /// + [EditorBrowsable(EditorBrowsableState.Never)] + public static readonly BindableProperty ImageUrlProperty = BindableProperty.Create(nameof(ImageUrl), typeof(string), typeof(DefaultGridItem), default(string), propertyChanged: (bindable, oldValue, newValue) => + { + var instance = (DefaultGridItem)bindable; + if (newValue != null) + { + instance.InternalImageUrl = newValue as string; + } + }, + defaultValueCreator: (bindable) => + { + var instance = (DefaultGridItem)bindable; + return instance.InternalImageUrl; + }); + /// /// LabelOrientationTypeProperty /// -- 2.34.1