コード例 #1
0
        /// <summary>
        /// Creates new item with icon.
        /// </summary>
        /// <param name="item">New item to set.</param>
        /// <returns>Item with updated values.</returns>
        EContextPopupItem AppendOrModifyItemWithIcon(ContextPopupItem item)
        {
            EContextPopupItem nativeItem = null;
            EIcon             icon       = new EIcon(_popup);

            icon.StandardIconName = item.Icon;
            if (!string.IsNullOrEmpty(icon.StandardIconName))
            {
                if (!_items.ContainsKey(item))
                {
                    nativeItem = _popup.Append(item.Label, icon);
                }
                else
                {
                    _items[item].SetPartContent("icon", icon);
                }
            }
            else
            {
                //Not a standard icon
                XFPlatformTizen.Native.Image iconImage = new XFPlatformTizen.Native.Image(_popup);
                var task = iconImage.LoadFromImageSourceAsync(item.Icon);
                if (!_items.ContainsKey(item))
                {
                    nativeItem = _popup.Append(item.Label, iconImage);
                }
                else
                {
                    _items[item].SetPartContent("icon", iconImage);
                }
            }

            return(nativeItem);
        }
コード例 #2
0
        void ContextPopupItemPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            var item = sender as ContextPopupItem;

            if (e.PropertyName == nameof(ContextPopupItem.Label))
            {
                // If the native item already has a label
                EContextPopupItem nativeItem = _items[item];
                nativeItem.SetPartText("default", item.Label);
            }
        }
コード例 #3
0
        /// <summary>
        /// Updates label of a given item.
        /// </summary>
        /// <param name="item">Item with a new label.</param>
        public void UpdateContextPopupItemLabel(ContextPopupItem item)
        {
            EContextPopupItem nativeItem = _items[item];

            nativeItem.SetPartText("default", item.Label);
        }