Exemple #1
0
        /// <summary>
        /// Returns the frame associated to a property if it can have selectors.
        /// </summary>
        /// <param name="propertyName">Name of the property to look for.</param>
        /// <param name="frame">Frame found upon return. Null if not matching <paramref name="propertyName"/>.</param>
        public virtual bool FrameSelectorForProperty(string propertyName, out IFocusFrameWithSelector frame)
        {
            frame = null;
            bool Found = false;

            if (Root is IFocusSelectorPropertyFrame AsSelectorPropertyFrame)
            {
                Found = AsSelectorPropertyFrame.FrameSelectorForProperty(propertyName, out frame);
            }

            return(Found);
        }
        /// <summary>
        /// Returns the frame associated to a property if it can have selectors.
        /// </summary>
        /// <param name="propertyName">Name of the property to look for.</param>
        /// <param name="frame">Frame found upon return. Null if not matching <paramref name="propertyName"/>.</param>
        public virtual bool FrameSelectorForProperty(string propertyName, out IFocusFrameWithSelector frame)
        {
            frame = null;
            bool Found = false;

            if (propertyName == PropertyName)
            {
                frame = this;
                Found = true;
            }

            return(Found);
        }
Exemple #3
0
        /// <summary>
        /// Returns the frame associated to a property if it can have selectors.
        /// </summary>
        /// <param name="propertyName">Name of the property to look for.</param>
        /// <param name="frame">Frame found upon return. Null if not matching <paramref name="propertyName"/>.</param>
        public virtual bool FrameSelectorForProperty(string propertyName, out IFocusFrameWithSelector frame)
        {
            frame = null;
            bool IsFound = false;

            foreach (IFocusFrame Item in Items)
            {
                if (Item is IFocusSelectorPropertyFrame AsSelectorPropertyFrame)
                {
                    if (AsSelectorPropertyFrame.FrameSelectorForProperty(propertyName, out frame))
                    {
                        IsFound = true;
                        break;
                    }
                }
            }

            return(IsFound);
        }
Exemple #4
0
        /// <summary>
        /// Returns the frame associated to a property if it can have selectors.
        /// </summary>
        /// <param name="propertyName">Name of the property to look for.</param>
        /// <param name="frame">Frame found upon return. Null if not matching <paramref name="propertyName"/>.</param>
        public virtual bool FrameSelectorForProperty(string propertyName, out IFocusFrameWithSelector frame)
        {
            frame = null;
            bool Found = false;

            if (Root is IFocusSelectionFrame AsSelectionFrame)
            {
                List <IFocusFrameWithSelector> FrameSelectorList = new List <IFocusFrameWithSelector>();
                foreach (IFocusSelectableFrame Item in AsSelectionFrame.Items)
                {
                    if (FrameSelectorForPropertySingle(Item.Content, propertyName, out frame))
                    {
                        FrameSelectorList.Add(frame);
                    }
                }

                if (FrameSelectorList.Count > 0)
                {
                    IFocusFrameWithSelector FirstFrame = FrameSelectorList[0];

                    CompareEqual Comparer = CompareEqual.New();
                    for (int i = 1; i < FrameSelectorList.Count; i++)
                    {
                        Debug.Assert(FrameSelectorList[i].Selectors.IsEqual(Comparer, FirstFrame.Selectors));
                    }

                    frame = FirstFrame;
                    Found = true;
                }
            }
            else
            {
                Found = FrameSelectorForPropertySingle(Root, propertyName, out frame);
            }

            return(Found);
        }
Exemple #5
0
        /// <summary></summary>
        protected virtual bool FrameSelectorForPropertySingle(IFocusFrame root, string propertyName, out IFocusFrameWithSelector frame)
        {
            frame = null;
            bool Found = false;

            if (root is IFocusSelectorPropertyFrame AsSelectorPropertyFrame)
            {
                Found = AsSelectorPropertyFrame.FrameSelectorForProperty(propertyName, out frame);
            }

            return(Found);
        }
Exemple #6
0
 /// <summary>
 /// Returns the frame associated to a property if it can have selectors.
 /// </summary>
 /// <param name="propertyName">Name of the property to look for.</param>
 /// <param name="frame">Frame found upon return. Null if not matching <paramref name="propertyName"/>.</param>
 public abstract bool FrameSelectorForProperty(string propertyName, out IFocusFrameWithSelector frame);