void GenerateDataGridColumns(Type type) { var list = PropertyNameValuePair.TypeToList(type); foreach (var p in list) { var pinfo = p.Value as PropertyInfo; if (pinfo.Name == "GoodsId") { continue; } if (pinfo.Name == "AddressCode") { var datagridcolumn = new DataGridTemplateColumn(); datagridcolumn.Header = p.Name; datagridcolumn.CellTemplate = Application.Current.Resources["addressTemplate"] as DataTemplate; goodsgrid.Columns.Add(datagridcolumn); continue; } // general var textcolumn = new DataGridTextColumn(); textcolumn.Header = p.Name; var binding = new Binding(pinfo.Name); if (pinfo.PropertyType.IsEnum) { binding.Converter = new EnumConverter(); } textcolumn.Binding = binding; goodsgrid.Columns.Add(textcolumn); } }
void Initialize(Type datatype) { var logiclist = EnumNameValuePair.EnumToList(typeof(Logical)); logic_cb.ItemsSource = logiclist; if (IsFirstRow) { logic_cb.IsEnabled = false; } else { logic_cb.IsEnabled = true; logic_cb.SelectedIndex = 0; } var proplist = PropertyNameValuePair.TypeToList(datatype); if (DetermineFieldCallback != null) { proplist = DetermineFieldCallback(datatype, proplist); } field_cb.ItemsSource = proplist; field_cb.SelectedIndex = 0; }