Created
December 5, 2013 12:40
-
-
Save JerryBian/7804542 to your computer and use it in GitHub Desktop.
Source code/ ViewModel: http://stackoverflow.com/questions/20400257/remove-the-item-which-is-selected-in-other-combobox-from-source
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections.ObjectModel; | |
using System.ComponentModel; | |
namespace WpfApplication1.ViewModel | |
{ | |
public class MainWindowViewModel : INotifyPropertyChanged | |
{ | |
public MainWindowViewModel() | |
{ | |
InitSourceCollection(); | |
} | |
public ObservableCollection<People> SourceCollection1 { get; set; } | |
public ObservableCollection<People> SourceCollection2 { get; set; } | |
public ObservableCollection<People> SourceCollection3 { get; set; } | |
public ObservableCollection<People> SourceCollection4 { get; set; } | |
private People _selected1; | |
public People Selected1 | |
{ | |
get | |
{ | |
return _selected1; | |
} | |
set | |
{ | |
var pc = PropertyChanged; | |
if (pc != null) | |
{ | |
_selected1 = value; | |
pc(this, new PropertyChangedEventArgs("Selected1")); | |
} | |
} | |
} | |
private People _selected2; | |
public People Selected2 | |
{ | |
get | |
{ | |
return _selected2; | |
} | |
set | |
{ | |
var pc = PropertyChanged; | |
if (pc != null) | |
{ | |
_selected2 = value; | |
pc(this, new PropertyChangedEventArgs("Selected2")); | |
} | |
} | |
} | |
private People _selected3; | |
public People Selected3 | |
{ | |
get | |
{ | |
return _selected3; | |
} | |
set | |
{ | |
var pc = PropertyChanged; | |
if (pc != null) | |
{ | |
_selected3 = value; | |
pc(this, new PropertyChangedEventArgs("Selected3")); | |
} | |
} | |
} | |
private People _selected4; | |
public People Selected4 | |
{ | |
get | |
{ | |
return _selected4; | |
} | |
set | |
{ | |
var pc = PropertyChanged; | |
if (pc != null) | |
{ | |
_selected4 = value; | |
pc(this, new PropertyChangedEventArgs("Selected4")); | |
} | |
} | |
} | |
private void InitSourceCollection() | |
{ | |
SourceCollection1 = FakeSource(); | |
SourceCollection2 = FakeSource(); | |
SourceCollection3 = FakeSource(); | |
SourceCollection4 = FakeSource(); | |
} | |
private ObservableCollection<People> FakeSource() | |
{ | |
var source = new ObservableCollection<People>(); | |
source.Add(new People | |
{ | |
Name = "people A", | |
Age = 23 | |
}); | |
source.Add(new People | |
{ | |
Name = "people B", | |
Age = 24 | |
}); | |
source.Add(new People | |
{ | |
Name = "people C", | |
Age = 25 | |
}); | |
source.Add(new People | |
{ | |
Name = "people D", | |
Age = 26 | |
}); | |
source.Add(new People | |
{ | |
Name = "people E", | |
Age = 27 | |
}); | |
source.Add(new People | |
{ | |
Name = "people F", | |
Age = 28 | |
}); | |
source.Add(new People | |
{ | |
Name = "people G", | |
Age = 29 | |
}); | |
source.Add(new People | |
{ | |
Name = "people H", | |
Age = 30 | |
}); | |
source.Add(new People | |
{ | |
Name = "people I", | |
Age = 31 | |
}); | |
source.Add(new People | |
{ | |
Name = "people J", | |
Age = 32 | |
}); | |
source.Add(new People | |
{ | |
Name = "people K", | |
Age = 33 | |
}); | |
return source; | |
} | |
public event PropertyChangedEventHandler PropertyChanged; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment