Я изо всех сил, чтобы быть в состоянии связать элемент контента StatusBarItem на мой взгляд, к свойству подклассы в моем ViewModel, я использую рамки MVVM-Light/Связывание ребенка Свойства класса модели представления в
ViewModel:
public class PageMainViewModel : ViewModelBase
{
LoggedOnUserInfo UserInfo;
public LoggedOnUser UserInfo
{
set
{
_UserInfo = value;
RaisePropertyChanged("UserInfo");
}
}
}
для полной ясности LoggedOnUser класса определяются следующим образом
public class LoggedOnUser : INotifyPropertyChanged
{
private string _Initials;
public event PropertyChangedEventHandler PropertyChanged;
public LoggedOnUser()
{
}
[DataMember]
public string Initials
{
get { return _Initials; }
set
{
_Initials = value;
OnPropertyChanged("Initials");
}
}
protected void OnPropertyChanged(string propValue)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propValue));
}
}
}
My Views DataContext создается и работает, как я могу видеть другие привязки Workin g, но мои попытки связать с свойством UserInfo.Initials в моем XAML производят пустой результат.
XAML:
<StatusBarItem Grid.Column="0" Content="{Binding UserInfo.Initials}" Margin="5,0,0,0" VerticalAlignment="Center" Focusable="False" />
Свойство UserInfo устанавливается после того, как ViewModel создается из-за нескольких факторов, но я думал, что с моим PropertyChanged событий это было бы нормально.
Любые советы по этому вопросу будут очень признательны.
Немного смущен этой очевидной очевидной ошибкой. Спасибо вам всем, кто помог. – Emlyn