namespace SilverlightApplication2
{
public partial class Page : UserControl
{
public ObservableCollection StringsParent { get; set; }
public Page()
{
InitializeComponent();
StringsParent = new ObservableCollection();
ic.ItemsSource = StringsParent;
}
private void Save(object sender, RoutedEventArgs e)
{
SomeClass c = new SomeClass();
c.StringsChild.Add("First");
c.StringsChild.Add("Second");
c.StringsChild.SetSelectedItem("Second");
StringsParent.Add(c);
}
}
public class SomeClass
{
public SelectableObservablecollection StringsChild { get; set; }
public SomeClass()
{
StringsChild = new SelectableObservablecollection();
}
}
public class SelectableObservablecollection : ObservableCollection
{
public SelectableObservablecollection()
: base()
{
}
public void SetSelectedItem(Q selectedItem)
{
foreach (T item in this)
{
if (item.Equals(selectedItem))
{
SelectedItem = item;
return;
}
}
}
private T _selectedItem;
public T SelectedItem
{
get
{
return _selectedItem;
}
set
{
_selectedItem = value;
OnPropertyChanged(new PropertyChangedEventArgs("SelectedItem"));
}
}
}
}