Exemplo n.º 1
0
        static void SetupCombo(ComboBox cboServers, ObservableCollection <ServerDBName> data, object dataContext)
        {
            cboServers.Items.Clear();
            cboServers.DataContext = data;
            if (!data.Any())
            {
                cboServers.Visibility = Visibility.Hidden;
                return;     // empty list
            }

            cboServers.DisplayMemberPath = "Caption";
            cboServers.ItemsSource       = cboServers.DataContext as IEnumerable <object>;

            // http://www.dotnetperls.com/combobox-wpf
            cboServers.SelectionChanged += (s, e) => {
                var selected = cboServers.SelectedItem as ServerDBName;
                ServerList.ComboSelect(selected, dataContext);
            };

            var first = Enumerable.First(cboServers.DataContext as ObservableCollection <ServerDBName>);

            cboServers.Text = first.Caption;

            if (!string.IsNullOrWhiteSpace(first.DbName))
            {
                Guard.Check(dataContext.GetValue <string>("dbName").Equals(first.DbName), "SelectionChanged error");
            }
        }