public PowerShellDataSource() { _allRecords = new ObservableCollection<object>(); _specs = new List<DynamicMemberSpecification>(); _scales = new ScaleDescriptorAssignmentCollection(); _scales.CollectionChanged += OnScaleDescriptorAssignmentCollectionChanged; _dataCollectionMaxSize = 20; _data = new ObservableCollection<object>(); _progressRecords = new ObservableCollection<ProgressRecord>(); _dynamicMembers = new List<PSMemberInfo>(); _powerShell = System.Management.Automation.PowerShell.Create(); var runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); runspace.SessionStateProxy.SetVariable( "seeShellDataSource", this ); var tmp = System.Management.Automation.PowerShell.Create(); tmp.Runspace = runspace; tmp.AddScript("function start-seeShellDataSet { $seeShellDataSource.StartDataSet(); }") .AddScript("function commit-seeShellDataSet { $seeShellDataSource.CommitDataSet(); }") .AddScript("function undo-seeShellDataSet { $seeShellDataSource.RollbackDataSet(); }"); tmp.Invoke(); _powerShell.Runspace = runspace; _powerShell.InvocationStateChanged += InvocationStateChanged; _powerShell.Streams.Debug.DataAdded += DebugRecordAdded; _powerShell.Streams.Verbose.DataAdded += VerboseRecordAdded; _powerShell.Streams.Progress.DataAdded += ProgressRecordAdded; _powerShell.Streams.Error.DataAdded += ErrorRecordAdded; _powerShell.Streams.Warning.DataAdded += WarningRecordAdded; }
public NullPowerShellDataSource() { Data = new ObservableCollection<object>(); ErrorRecords = new ObservableCollection<ErrorRecord>(); WarningRecords = new ObservableCollection<WarningRecord>(); DebugRecords = new ObservableCollection<DebugRecord>(); VerboseRecords = new ObservableCollection<VerboseRecord>(); ProgressRecords = new ObservableCollection<ProgressRecord>(); Scales = new ScaleDescriptorAssignmentCollection(); AllRecords = new ObservableCollection<object>(); }