/// <summary> /// Helps quickly add new columns to a DataView /// </summary> /// <param name="_h">Header</param> /// <param name="_b">Binding</param> /// <returns>DataGridTextColumn</returns> public static System.Windows.Controls.DataGridTextColumn newColumn(string _header, string _binding) { System.Windows.Controls.DataGridTextColumn newCol = new System.Windows.Controls.DataGridTextColumn(); newCol.Header = _header; newCol.Binding = new System.Windows.Data.Binding(_binding); return(newCol); }
public T Search(string searchText) { _firstShow = true; _View = new SearcherView(); _View.Owner = Owner; _View.DataContext = this; _View.Topmost = true; SetKeyBindings(); int index = 0; foreach (var col in _DataGridColumnsNamesBinding) { var style = new Style(); style.Setters.Add(new Setter(System.Windows.Controls.TextBlock.TextAlignmentProperty, (TextAlignment)col.TextAlignment)); var headerStyle = new Style(typeof(System.Windows.Controls.Primitives.DataGridColumnHeader)); var hAligment = new HorizontalAlignment(); switch (col.TextAlignment) { case SearcherTextAlignment.Left: hAligment = HorizontalAlignment.Left; break; case SearcherTextAlignment.Right: hAligment = HorizontalAlignment.Right; break; case SearcherTextAlignment.Center: hAligment = HorizontalAlignment.Center; break; case SearcherTextAlignment.Justify: hAligment = HorizontalAlignment.Stretch; break; } headerStyle.Setters.Add(new Setter(System.Windows.Controls.Control.HorizontalContentAlignmentProperty, hAligment)); var datagridCol = new System.Windows.Controls.DataGridTextColumn() { Header = col.HeaderName, IsReadOnly = true, Binding = new Binding(col.PropertyName) }; datagridCol.Binding.StringFormat = col.StringFormat; datagridCol.CellStyle = style; datagridCol.HeaderStyle = headerStyle; if (index == (_DataGridColumnsNamesBinding.Count - 1)) { datagridCol.Width = new System.Windows.Controls.DataGridLength(100, System.Windows.Controls.DataGridLengthUnitType.Star); } _View.SearchItemsDataGridView.Columns.Add(datagridCol); index++; } this.SearchText = searchText; _Search(); _View.AllowsTransparency = true; _View.Opacity = 0; //_View.ShowInTaskbar = false; _View.ShowDialog(); return(CurrentItem); }