示例#1
0
        void ParameterPropertyChanged(object obj, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "Valid")
            {
                ParameterItem item = obj as ParameterItem;

                if (item.Valid)
                {
                    if (++iValidCount == iParameters.Count)
                    {
                        iControl.IsEnabled = true;
                    }
                }
                else
                {
                    if (iValidCount-- == iParameters.Count)
                    {
                        iControl.IsEnabled = false;
                    }
                }
            }
        }
示例#2
0
        public ParameterList(Control aControl, IList <IParameter> aParameters, IList <INode> aNodes)
        {
            iControl    = aControl;
            iValidCount = 0;
            iParameters = new List <ParameterItem>();

            foreach (IParameter parameter in aParameters)
            {
                parameter.Init(aNodes);

                if (parameter.Valid)
                {
                    iValidCount++;
                }

                ParameterItem p = new ParameterItem(parameter);

                p.PropertyChanged += new PropertyChangedEventHandler(ParameterPropertyChanged);

                iParameters.Add(p);
            }

            iControl.IsEnabled = (iValidCount == iParameters.Count);
        }