set
{
SetValue(SiblingOrderProperty, value);
+
+ LayoutGroup layout = Layout as LayoutGroup;
+ layout?.ChangeLayoutSiblingOrder(value);
+
NotifyPropertyChanged();
}
}
parentChildren.Remove(this);
parentChildren.Add(this);
+ LayoutGroup layout = Layout as LayoutGroup;
+ layout?.ChangeLayoutSiblingOrder(parentChildren.Count-1);
+
Interop.NDalic.RaiseToTop(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
parentChildren.Remove(this);
parentChildren.Insert(0, this);
+ LayoutGroup layout = Layout as LayoutGroup;
+ layout?.ChangeLayoutSiblingOrder(0);
+
Interop.NDalic.LowerToBottom(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
RequestLayout();
}
+
+ /// <summary>
+ /// Sets the sibling order of the layout item so the layout can be defined within the same parent.
+ /// </summary>
+ /// <param name="order">the sibling order of the layout item</param>
+ /// <since_tizen> 6 </since_tizen>
+ /// This will be public opened in tizen_next after ACR done. Before ACR, need to be hidden as inhouse API.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void ChangeLayoutSiblingOrder(int order)
+ {
+ if(Owner != null && Owner.Parent != null)
+ {
+ LayoutGroup parent = Owner.Parent.Layout as LayoutGroup;
+
+ if(parent != null && parent.LayoutChildren.Count>order)
+ {
+ parent.LayoutChildren.Remove(this);
+ parent.LayoutChildren.Insert(order,this);
+ }
+ }
+
+ RequestLayout();
+ }
+
// Attaches to View ChildAdded signal so called when a View is added to a view.
private void AddChildToLayoutGroup(View child)
{