I have two observalbe collections like below
public ObservableCollection<Employee> AllEmployees
{
get { return _allEmployees; }
set { _allEmployees = value; }
}
public ObservableCollection<Employee> EmployeesToDisplay
{
get { return _employeesToDisplay; }
set { _employeesToDisplay = value; }
}
They are both individually set by the value returned by wcf service.
AllEmployees = ListofEmployees ;
EmployeesToDisplay= ListofEmployees;
On change of a combobox that allows me to select Active employees or inactive employees I run the following Linq query on ‘AllEmployees’
var employeesEnabled = from entity in AllEmployees
where entity.IsEnabled == true
orderby entity.Name ascending
select entity;
and then assign the returned value to EmployeesToDisplay like below:
EmployeesToDisplay.Clear();
EmployeesToDisplay.Add(employeesEnabled as Employee);
The problem is:
When I go past this line ‘EmployeesToDisplay.Clear()’ … it even clears out ‘AllEmployees’
Any idea why this is happening? and how to get around it?
Thanks for your time…
Change your ‘set’ from ‘copy by reference’ to ‘copy by value’.