Q:

Object Binding in Caliburn.Micro MVVM Framework with SelectedItem

I have the following Models:
public class Profile
    {
        public string name { get; set; }
        public Member casemanager { get; set; }
        public Member assistant { get; set; }
    }

public class Member 
    {
        public int Id { get; set; }
        public int Type{ get; set; }
        public string Name { get; set; }
    }

In my ViewModel, I have the following objects:

an ObservableCollection<Profile> named Profiles that gets populated from a database;
a SelectedProfile of type Profile, of course;
Two Lists of Members named ListCaseManagers and ListAssistants that get populated from DB.

Each of the objects implement a NotifyOfPropertyChange method from Caliburn.Micro and are set with property and backing field.
The View:
<StackPanel>
 <ListView ItemsSource="{Binding Profiles}" SelectedItem="{Binding SelectedProfile}" DisplayMemberPath="name" SelectionMode="Single" />
 <ComboBox ItemsSource="{Binding ListCaseManagers}" SelectedItem="{Binding SelectedProfile.casemanager }"  IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"/>
 <ComboBox ItemsSource="{Binding ListAssistants}" SelectedItem="{Binding  SelectedProfile.assistant}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name"/>
</StackPanel>

In this XAML I was thinking that the SelectedItem of each ComboBox would bind directly to the SelectedProfile casemanager/assistant, changing everytime I modify the SelectedProfile using the ListView, but it doesn't seem to select the item in the combobox even though SelectedProfile.casemanager and SelectedProfile.assistant are not null.
What am I missing? Is there an easy way using conventions with Caliburn.Micro?

A:

In combobox present couple properties which can allow you to modify your SelectedItem in your list.
SelectedValuePath="Id" <br/>
SelectedValue="{Binding SelectedProfile.casemanager.Id}"

Upd: this approach allow to bind selected element by their some unique attribute (ID or Name)
In case if you need to work with SelectedItem.. you must sure that props of items in Profiles collection are related to object in ListCaseManagers and ListAssistants 
var query = from p in Profiles
            join mgr in ListCaseManagers on p.casemanager==mgr
            select p;
? query.Count
enter code here

I assume you will see 0.. since objects in collection are different.

