Exemple #1
0
        /// <summary>
        /// Event handler when the DropDown is opened in ComboBox.
        /// </summary>
        void OnComboBoxDropDownOpened(object sender, EventArgs e)
        {
            List <String>   mappingNameCol = new List <string>();
            MainWindow      mainwnd        = (MainWindow)Application.Current.MainWindow;
            ManipulatorView manipulatorwnd = (Window)Application.Current.Windows[1] as ManipulatorView;

            if (manipulatorwnd.addcolarea.Visibility == Visibility.Collapsed)
            {
                foreach (var col in mainwnd.dataGrid.Columns)
                {
                    if (!(col is GridUnBoundColumn) && col is GridTemplateColumn)
                    {
                        mappingNameCol.Add(col.HeaderText + " (TemplateColumn)");
                    }
                    else if (col is GridUnBoundColumn)
                    {
                        mappingNameCol.Add(col.HeaderText + " (UnBoundColumn)");
                    }
                    else
                    {
                        mappingNameCol.Add(col.HeaderText);
                    }
                }
            }
            else
            {
                PropertyInfo[]        properties;
                ProductDetails        product = new ProductDetails();
                MappingNameDictionary dic     = new MappingNameDictionary();
                properties = product.GetType().GetProperties();
                foreach (var property in properties)
                {
                    string headerText;
                    dic.TryGetValue(property.Name, out headerText);
                    mappingNameCol.Add(headerText);
                }
                foreach (var col in mainwnd.dataGrid.Columns)
                {
                    if (mappingNameCol.Contains(col.HeaderText))
                    {
                        mappingNameCol.Remove(col.HeaderText);
                    }
                }
            }
            this.AssociatedObject.ItemsSource = mappingNameCol;
        }