private void Window_Initialized ( object sender, EventArgs e ) { string initialDatabase = null; using (IrbisConnection connection = GetConnection()) { IniFile iniFile = connection.IniFile; string listFile = "dbnam1.mnu"; if (!ReferenceEquals(iniFile, null)) { iniFile.GetValue("MAIN", "DBNNAMECAT", "dbnam1.mnu"); string ext = System.IO.Path.GetExtension(listFile); if (string.IsNullOrEmpty(ext)) { listFile += ".mnu"; } initialDatabase = iniFile.GetValue("MAIN", "CURDBN", null); } databases = connection.ListDatabases(listFile); foreach (DatabaseInfo database in databases) { DatabaseList.Items.Add(database); } } int initialIndex = 0; if (!string.IsNullOrEmpty(initialDatabase)) { for (int i = 0; i < databases.Length; i++) { if (initialDatabase.SameString(databases[i].Name)) { initialIndex = i; break; } } } if (initialIndex >= 0 && initialIndex < databases.Length) { DatabaseList.SelectedIndex = initialIndex; object selectedItem = DatabaseList.SelectedItem; if (!ReferenceEquals(selectedItem, null)) { DatabaseList.ScrollIntoView(selectedItem); } } }
private void KeyBox_TextChanged ( object sender, TextChangedEventArgs e ) { TextBox textBox = sender as TextBox; if (ReferenceEquals(textBox, null)) { return; } string text = textBox.Text.Trim(); if (string.IsNullOrEmpty(text)) { return; } DatabaseInfo found = null; foreach (DatabaseInfo database in databases) { string name = database.Name; if (!string.IsNullOrEmpty(name)) { if (Contains(name, text)) { found = database; break; } } string description = database.Description; if (!string.IsNullOrEmpty(description)) { if (Contains(description, text)) { found = database; break; } } } if (!ReferenceEquals(found, null)) { DatabaseList.SelectedItem = found; DatabaseList.ScrollIntoView(found); } }