private void OnLoaded(object sender, object e) { string[] pictures = Helpers.GetPicturePaths(); PropertyInfo[] props = typeof(Brushes).GetProperties(); List <object> data = new List <object>(17); data.Add(new UI()); for (int i = 0; i < Math.Min(pictures.Length, 8); i++) { data.Add(new Picture(pictures[i])); } for (int i = 0; i < Math.Min(props.Length, 8); i++) { if (props[i].Name != "Transparent") { data.Add(new Swatch(props[i].Name)); } } this.DataContext = _data.ItemsSource = data; // Setup 2 way transitions Transition[] transitions = (Transition[])FindResource("ForwardBackTransitions"); for (int i = 0; i < transitions.Length; i += 2) { ListTransitionSelector selector = new ListTransitionSelector(transitions[i], transitions[i + 1], data); TextSearch.SetText(selector, TextSearch.GetText(transitions[i])); _selectors.Items.Add(selector); } }
/// <summary> /// Shows the popup. /// </summary> /// <param name="placementRectangle">The placement rectangle.</param> /// <param name="items">The items.</param> /// <param name="number">if set to <c>true</c> [number].</param> /// <param name="filterDupes">if set to <c>true</c> [filter dupes].</param> private void ShowPopup(Rect placementRectangle, List <string> text, List <string> items, List <string> toolTips, bool number, bool filterDupes) { _intellisense.Items.Clear(); if (number) { _intellisense.Items.Filter = null; for (int i = text.Count - 1; i >= 0; i--) { if (filterDupes && _intellisense.Items.Contains(text[i])) { continue; } var item = new ListBoxItem { Content = $"{i,2} {text[i]}", Tag = items[i] ?? text[i], ToolTip = toolTips[i] ?? text[i] }; TextSearch.SetText(item, text[i]); _intellisense.Items.Insert(0, item); } } else { for (int i = items.Count - 1; i >= 0; i--) { if (!filterDupes || !_intellisense.Items.Contains(items[i])) { _intellisense.Items.Insert(0, items[i]); } } } _intellisense.Visibility = Visibility.Visible; // if it's numbered, default to the last item _intellisense.SelectedIndex = number ? items.Count - 1 : 0; _intellisense.ScrollIntoView(_intellisense.SelectedItem); PlacementRectangle = placementRectangle; Placement = PlacementMode.Absolute; IsOpen = true; // show the popup Focus(); _intellisense.Focus(); // focus the keyboard on the popup }
private void AddItemButton_Click(object sender, RoutedEventArgs e) { //lbxProduct.Items.Add($"Item {lbxProduct.Items.Count + 1}"); int num = lbxProduct.Items.Count + 1; ListBoxItem item; item = new ListBoxItem(); item.Content = $"Item {num}"; TextSearch.SetText(item, num.ToString()); lbxProduct.Items.Add(item); num = lbxProduct.Items.Count + 1; item = new ListBoxItem(); item.Content = $"Item {num}"; TextSearch.SetText(item, num.ToString()); lbxProduct.Items.Add(item); }
private void Initial() { ResultStr = ""; String filestr = null; try { //根据所选择的模式打开不同的文件,如果打开失败,则警告并退出. switch (choose) { case 1: filestr = Properties.Resources.NPClist; this.NameLabel.Content = "增加队员"; break; case 2: filestr = Properties.Resources.neigong; this.NameLabel.Content = "增加内功"; break; case 3: filestr = Properties.Resources.Talent; this.NameLabel.Content = "增加天赋"; break; case 4: filestr = Properties.Resources.itemlist; this.NameLabel.Content = "增加物品"; break; default: ResultStr = ""; return; } } catch (IOException) { MessageBox.Show("未找到程序所必需的文件,请尝试重新安装!"); foreach (Window win in App.Current.Windows) { win.Close(); } } String pattern = @"[0-9]*=(.*?)(?: |。|\r\n)"; Regex re = new Regex(pattern, RegexOptions.Multiline); if (re.IsMatch(filestr)) { this.comboBox.Items.Clear(); int groupCount = re.Matches(filestr).Count; for (int groupIndex = 0; groupIndex < groupCount; groupIndex++) { ComboBoxItem myComboBoxItem = new ComboBoxItem(); myComboBoxItem.Width = 170; myComboBoxItem.HorizontalAlignment = HorizontalAlignment.Left; myComboBoxItem.Content = re.Matches(filestr)[groupIndex].Groups[1].ToString(); TextSearch.SetText(myComboBoxItem, myComboBoxItem.Content.ToString()); this.comboBox.Items.Add(myComboBoxItem); } this.comboBox.SelectedIndex = 0; } else { MessageBox.Show("正则表达式匹配出错!"); } return; }