private void btnAddSaleStageSetting_Click(object sender, RoutedEventArgs e)
        {
            int     getCurrentStageCount   = this.spSaleStageSettings.Children.Count;
            decimal?getLastStageAmtEnd     = null;
            decimal?getLastStagePercentage = null;

            if (0 < getCurrentStageCount)
            {
                getLastStageAmtEnd     = ((VendorSaleStageSettingsItem)this.spSaleStageSettings.Children.Last()).StageAmtEndVal;
                getLastStagePercentage = ((VendorSaleStageSettingsItem)this.spSaleStageSettings.Children.Last()).StagePercentage;
            }
            if (getCurrentStageCount < 3)
            {
                if (!string.IsNullOrEmpty(this.lblStagedAmtBegin_Last.Text))
                {
                    this.lblStagedAmtBegin_Last.Text = string.Empty;
                }
                //如果没有超过最大添加数量(3个阶梯),则添加新的UserControl:
                VendorSaleStageSettingsItem newStageAddSettingItem = new VendorSaleStageSettingsItem()
                {
                    Name = string.Format("ucStageSettingItem_{0}", (getCurrentStageCount + 1)), StageAmtBeginVal = getLastStageAmtEnd
                };
                if (getCurrentStageCount > 0)
                {
                    newStageAddSettingItem.lblStagedAmtBegin.Text = !getLastStageAmtEnd.HasValue ? string.Empty : getLastStageAmtEnd.Value.ToString();
                }
                newStageAddSettingItem.OnBeginStageAmtChanged += (obj, args) =>
                {
                    SetSaleStageChangedEvent(args);
                };
                this.spSaleStageSettings.Children.Add(newStageAddSettingItem);
            }
            //如果超过最大添加数量(3个阶梯),更新BUTTON状态:
            UpdateOperationButtionsState();
        }
 public void BindVendorSaleStageList()
 {
     for (int index = 0; index < VendorStageSaleSettingsList.Count - 1; ++index)
     {
         int getCurrentStageCount = this.spSaleStageSettings.Children.Count;
         VendorSaleStageSettingsItem newStageAddSettingItem = new VendorSaleStageSettingsItem()
         {
             Name = string.Format("ucStageSettingItem_{0}", (getCurrentStageCount + 1)), StageAmtBeginVal = VendorStageSaleSettingsList[index].StartAmt, StageAmtEndVal = VendorStageSaleSettingsList[index].EndAmt, StagePercentage = VendorStageSaleSettingsList[index].Percentage
         };
         newStageAddSettingItem.OnBeginStageAmtChanged += (obj, args) =>
         {
             SetSaleStageChangedEvent(args);
         };
         this.spSaleStageSettings.Children.Add(newStageAddSettingItem);
     }
     if (VendorStageSaleSettingsList.Count >= 1)
     {
         this.lblStagedAmtBegin_Last.Text   = VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].StartAmt.HasValue ? VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].StartAmt.Value.ToString() : "0";
         this.lblStagedAmtEnd_Last.Text     = "MAX";
         this.txtStagedPercentage_Last.Text = VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].Percentage.HasValue ? VendorStageSaleSettingsList[VendorStageSaleSettingsList.Count - 1].Percentage.Value.ToString() : "0";
     }
 }
        /// <summary>
        /// 重新构建SaleRuleItems
        /// </summary>
        private void RefreshVendorSaleRuleList()
        {
            if (null != ucSaleStageSettings.VendorStageSaleSettingsList)
            {
                this.ucSaleStageSettings.VendorStageSaleSettingsList.Clear();
            }
            else
            {
                this.ucSaleStageSettings.VendorStageSaleSettingsList = new List <VendorStagedSaleRuleInfoVM>();
            }
            int index = 1;

            foreach (var ucItem in this.ucSaleStageSettings.spSaleStageSettings.Children)
            {
                if (ucItem is VendorSaleStageSettingsItem)
                {
                    VendorSaleStageSettingsItem uc = (VendorSaleStageSettingsItem)ucItem;
                    this.ucSaleStageSettings.VendorStageSaleSettingsList.Add(new VendorStagedSaleRuleInfoVM()
                    {
                        Order      = index,
                        StartAmt   = uc.StageAmtBeginVal,
                        EndAmt     = uc.StageAmtEndVal,
                        Percentage = uc.StagePercentage
                    });
                }
                index++;
            }

            if (!string.IsNullOrEmpty(this.ucSaleStageSettings.txtStagedPercentage_Last.Text))
            {
                this.ucSaleStageSettings.VendorStageSaleSettingsList.Add(new VendorStagedSaleRuleInfoVM()
                {
                    Order      = index,
                    StartAmt   = string.IsNullOrEmpty(this.ucSaleStageSettings.lblStagedAmtBegin_Last.Text) ? 0 : decimal.Parse(this.ucSaleStageSettings.lblStagedAmtBegin_Last.Text),
                    EndAmt     = 0,
                    Percentage = string.IsNullOrEmpty(this.ucSaleStageSettings.txtStagedPercentage_Last.Text) ? 0 : decimal.Parse(this.ucSaleStageSettings.txtStagedPercentage_Last.Text),
                });
            }
        }