Beispiel #1
0
        /// <summary>
        /// Events for CustomerValue changes to auto complete
        /// source : https://stackoverflow.com/questions/950770/autocomplete-textbox-in-wpf
        /// </summary>
        private void CustomerNameValue_InstallmentOrderUC_TextChanged(object sender, TextChangedEventArgs e)
        {
            var change = e.Changes.FirstOrDefault();

            if (!InProg_CustomerNameValue_InstallmentOrderUC)
            {
                InProg_CustomerNameValue_InstallmentOrderUC = true;
                var culture = new CultureInfo(CultureInfo.CurrentCulture.Name);
                var source  = ((TextBox)sender);
                if (((change.AddedLength - change.RemovedLength) > 0 || source.Text.Length > 0) && !DelKeyPressed_CustomerNameValue_InstallmentOrderUC)
                {
                    if (CustomersFullNames.Where(x => x.IndexOf(source.Text, StringComparison.CurrentCultureIgnoreCase) == 0).Count() > 0)
                    {
                        var _appendtxt = CustomersFullNames.FirstOrDefault(ap => (culture.CompareInfo.IndexOf(ap, source.Text, CompareOptions.IgnoreCase) == 0));
                        _appendtxt             = _appendtxt.Remove(0, change.Offset + 1);
                        source.Text           += _appendtxt;
                        source.SelectionStart  = change.Offset + 1;
                        source.SelectionLength = source.Text.Length;
                    }
                }
                InProg_CustomerNameValue_InstallmentOrderUC = false;
            }
        }