Почему WPF поддерживает привязку к свойствам объекта, а не к полям?

У меня есть служба WCF, которая передает обновления статуса через такую структуру:

[DataContract]
public struct StatusInfo
{
    [DataMember] public int Total;
    [DataMember] public string Authority;
}
...
public StatusInfo GetStatus() { ... }

Я выставляю свойство в ViewModel следующим образом:

public class ServiceViewModel : ViewModel
{
    public StatusInfo CurrentStatus
    {
        get{ return _currentStatus; }
        set
        { 
            _currentStatus = value;
            OnPropertyChanged( () => CurrentStatus );
        }
    }    
}

И XAML вроде так:

<TextBox Text="{Binding CurrentStatus.Total}" />

Когда я запускаю приложение, я вижу ошибки в окне вывода, указывающие, что свойство Total не может быть найдено. Я проверил и дважды проверил, и я набрал его правильно. Мне пришло в голову, что ошибки конкретно указывают на то, что «свойство» не может быть найдено. Таким образом, добавление свойства в структуру сделало его работоспособным. Но мне кажется странным, что WPF не может обрабатывать одностороннюю привязку к полям. Синтаксически вы обращаетесь к ним одинаково в коде, и кажется глупым создавать собственную модель представления только для структуры StatusInfo. Я что-то упустил в связывании WPF? Можете ли вы привязать к полю или свойство является единственным способом?

Ответы на вопрос(2)

Ваш ответ на вопрос