コード例 #1
0
        private void HandleInstanceMemberBeforeSetByUi(object sender, EventArgs e)
        {
            if (BeforePropertyChange != null)
            {
                BeforePropertyChangedArgs args = (BeforePropertyChangedArgs)e;
                args.Owner        = this.Instance;
                args.OldValue     = ((InstanceMember)sender).Value;
                args.PropertyName = ((InstanceMember)sender).Name;

                BeforePropertyChange(((InstanceMember)sender).Name, args);
            }
        }
コード例 #2
0
        private void HandleBeforePropertyChange(string propertyName, BeforePropertyChangedArgs changeArgs)
        {
            if (propertyName == "Name")
            {
                // make sure this is a valid name, and if not, let's change it
                string whyIsntValid;

                var instance    = ArrowState.Self.CurrentInstance;
                var elementSave = ArrowState.Self.CurrentArrowElementSave;
                NameVerifier.Self.IsInstanceNameValid(changeArgs.NewValue as string, out whyIsntValid, instance, elementSave);

                if (!string.IsNullOrEmpty(whyIsntValid))
                {
                    MessageBox.Show("Invalid name:\n" + whyIsntValid);
                    changeArgs.OverridingValue = changeArgs.OldValue;
                }
            }
        }
コード例 #3
0
ファイル: InstanceMember.cs プロジェクト: Kr3m/Gum
        internal void CallBeforeSetByUi(IDataUi dataUi)
        {
            if (BeforeSetByUi != null)
            {
                BeforePropertyChangedArgs args = new BeforePropertyChangedArgs();
                object value;
                dataUi.TryGetValueOnUi(out value);

                args.NewValue = value;

                BeforeSetByUi(this, args);

                if (args.WasManuallySet)
                {
                    // The event changed it, so let's force it back on the UI
                    dataUi.TrySetValueOnUi(args.OverridingValue);
                }
            }
        }