Ciao a tutti vi spiego brevemente il problema che ormai da una settimana non riesco a risolvere:
In un view model rendo disponibili 3 proprietà publiche:
public ObservableCollection<BaseProfilo> allBaseProfili
{
get
{
return _allBaseProfili;
}
set
{
var oldValue = _allBaseProfili;
_allBaseProfili = value;
RaisePropertyChanged(allBaseProfiliPropertyName, oldValue, value, true);
}
}
public ObservableCollection<UtenteToBind> allUtenti
{
get
{
return _allUtenti;
}
set
{
if (_allUtenti == value)
{
return;
}
var oldValue = _allUtenti;
_allUtenti = value;
RaisePropertyChanged(allUtentiPropertyName, oldValue, value, true);
}
}
public UtenteToBind detailUtente
{
get
{
return _detailUtente;
}
set
{
var oldValue = _detailUtente;
_detailUtente = value;
RaisePropertyChanged(DetailUtentePropertyName, oldValue, value, true);
}
}
nella rispettiva view ho messo una grid che si apre selezionando un'utente da una lista di utenti presa da "allUtenti", e che imposta = all'utente selezionato la proprietà "detail Utente"
Ora è importante saperer che nella classe utenteToBind c'è a sua volta una proprietà di tipo BaseProfilo.
Quindi mi aspetto che inserendo una combobox nella mia grid e impostandola in uqesto modo funzioni:
<ComboBox x:Name="cboPrf" Grid.Row="4" Grid.Column="1" ItemsSource="{Binding Path=myviewModel.allBaseProfili, Source={StaticResource Locator}}" Margin="0,4,0,0" SelectedItem="{Binding Path=profilo, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}" DisplayMemberPath="des_profilo"></ComboBox>
Qui nasce il problema, la combobox all'apertura della grid non imposta come selezionato il profilo dell'utente in DetailUtente.
Come si spiega questo comportamento?