示例#1
0
        /************************************
         *     TextBoxKeyWordChangeEvent
         *************************************/

        private void _textBoxKeywordElement_TextChanged(object sender, TextChangedEventArgs e)
        {
            string text = textBoxKeywordElement.Text;
            //if (String.IsNullOrWhiteSpace(text)) return;
            //if (String.IsNullOrEmpty(text)) return;

            // ローマ字変換?
            string str = "";

            if (_KanaConverter != null)
            {
                str = _KanaConverter.ConvertToKana(text);
            }
            else
            {
                str = text;
            }

            // Ajust Input
            string keyword = AdjustToKeyword(str);

            textBoxKeywordElement.Text       = keyword;
            textBoxKeywordElement.CaretIndex = keyword.Length;

            // Search by keyword

            // 前方一致検索ではkeywordの頭にスペースを挿入
            if (_PrifixSearch)
            {
                keyword = " " + keyword;
            }

            var candidates = SeItems.Where(x => x.SearchKeys.Contains(keyword))
                             .OrderBy(x => x.SortKey)
                             .Select(x => x.DisplayString);

            if (keyword.Trim().Length > 0 && candidates.Any())
            {
                listBoxElement.ItemsSource = candidates;
                popupElement.IsOpen        = true;
            }
            else
            {
                listBoxElement.ItemsSource = null;
                popupElement.IsOpen        = false;
            }

            // 完全なコード入力で確定
            var items = SeItems.Where(x => x.ItemValue == keyword.Trim()).Select(x => x.ItemValue);

            if (items != null && items.Count() == 1)
            {
                string value = items.First();
                Commit(value);
            }
        }
示例#2
0
        // SeValueを表示する
        void SetDisplayString(string value)
        {
            string displayString = string.Empty;

            var item = SeItems.Where(x => x.ItemValue == value).FirstOrDefault();

            if (item != null)
            {
                displayString = item.ToString();
            }

            labelItemElement.Content = displayString;
        }
示例#3
0
        void CreateDivisionsSampleData()
        {
            var dev1 = new SelDivision("11000", "コーポ", "110", " 11000 コーポレート");
            var dev2 = new SelDivision("13000", "制作", "130", " 13000 セイサク");
            var dev3 = new SelDivision("13500", "企画演出", "195", " 13500 キカクエンシュツ");
            var dev4 = new SelDivision("14000", "撮影", "140", " 14000 サツエイ");
            var dev5 = new SelDivision("15000", "照明", "150", " 15000 ショウメイ");

            SeItems.Add(dev1);
            SeItems.Add(dev2);
            SeItems.Add(dev3);
            SeItems.Add(dev4);
            SeItems.Add(dev5);
        }
示例#4
0
 // DisplayStringからitemValueを取得する
 string GetValueByDisplayString(string displayString)
 {
     return(SeItems.Where(x => x.DisplayString == displayString).Select(x => x.ItemValue).FirstOrDefault());
 }