public static void SetTrace(SourceLevels level, TraceOptions options) { if (_listener == null) { _listener = new BindingErrorTraceListener(); PresentationTraceSources.DataBindingSource.Listeners.Add(_listener); } _listener.TraceOutputOptions = options; PresentationTraceSources.DataBindingSource.Switch.Level = level; }
public static void CloseTrace() { if (_listener == null) { return; } _listener.Flush(); _listener.Close(); PresentationTraceSources.DataBindingSource.Listeners.Remove(_listener); _listener = null; }
private void Window_Loaded(object sender, RoutedEventArgs e) { //runs second //tab1dataGrid1.ItemsSource = RimworldXmlLoader.Mods; //List<ModView> modsView = new List<ModView>(); //new list of ModView ModsView = new List <ModView>(); //new list of ModView var i = 0; //crashes if Mods is empty. wow what.... try { foreach (var mod in RimworldXmlLoader.Mods) { ModsView.Add(new ModView()); ModsView[i].Index = i; ModsView[i].Loadposition = mod.ModRank; ModsView[i].Enabled = mod.ModEnabled; ModsView[i].Version = mod.ModXmlDetails.ModTargetVersion; ModsView[i].Modname = mod.ModXmlDetails.ModName; ModsView[i].Nummodconflicts = mod.ConflictedMods.Count; mod.ConflictedMods.Each((item, n) => { ModsView[i].Modconflicts.Add(item.ModXmlDetails.ModName); }); ModsView[i].Numdllconflicts = mod.ConflictedDlls.Count; ModsView[i].Numcoreconflicts = mod.CoreOverrights; ModsView[i].Numxmlfiles = mod.XmlFiles.Count; ModsView[i].Moddir = mod.DirName; ModsView[i].Fullmoddir = mod.FullDirName; i++; } //tab1dataGrid1.ItemsSource = modsView; var viewmodsView = CollectionViewSource.GetDefaultView(ModsView); viewmodsView.SortDescriptions.Add(new SortDescription("Loadposition", ListSortDirection.Ascending)); //initial sort //filtering. needs INotifyCollectionChanged to update display... BindingErrorTraceListener.SetTrace(); tab1dataGrid1.ItemsSource = viewmodsView; //instead of ItemsSource="{Binding viewmodsView}" //from datagrid1 removed Style="{DynamicResource DGHeaderStyle}" //modsView.CustomSort = new CustomerSorter(); //modsView.SortDescriptions.Add(new SortDescription("loadposition", ListSortDirection.Ascending)); //tab2dataGrid1.UpdateLayout(); //tab2grid1.UpdateLayout(); //foreach (DataGridColumn c in tab2dataGrid1.Columns) //c.Width = DataGridLength.Auto; MyDatagrid.ItemsSource = viewmodsView; //InitializeComponent(); } catch (Exception ex) { Logger.Instance.LogError("Crash in populating results form.", ex); //throw; } }