Если вы еще не решили эту проблему уже (было какое-то время), вот что вам следует делать.
Во-первых, убедитесь, что ViewModel определен либо на странице XAML, либо на странице с кодом.
<Page.DataContext>
<vm:ViewModelPage x:Name="ViewModel" />
</Page.DataContext>
ут является является имен для ViewModel (например, MyAppProject.ViewModels), определенный, как показано ниже в декларациях пространства имен в верхней:
xmlns:vm="using:MyAppProject.ViewModels"
в то время как ViewModelPage является страницу типа ViewModel, которая содержит Название.
То же самое можно определить в странице просмотра кода позади, как показано ниже (но предпочитают XAML как его более читаемым в сочетании с вами привязок в там)
public ViewModelPage ViewModel => this.DataContext as ViewModelPage ;
Вы должны поставить используя пространство имен объявление ViewModel вверху кода в коде (в действительности вы сделали для vm на странице XAML).
С ViewModel определение сделано правильно, вы не должны получить «... не может быть найден» ошибка в.
Теперь для привязки: используйте x: Bind, потому что это улучшение по сравнению с классической привязкой. См. Мой ответ here explaining the advantages of x:Bind. Одна важная вещь помнить устанавливает обязательную режима к «OneWay» (или «TwoWay», если это применимо, в некоторых случаях, как обновление TextBox), а не оставить его по умолчанию «одноразового», если режима определения пропал, отсутствует.
И последнее, но не менее важное: убедитесь, что свойство Название вызывает событие PropertyChanged для обновления привязки (если вы изменяете название динамически).Страница ViewModel должна быть хорошо приспособлена для облегчения: если вы будете следовать шаблона 10 шаблону, страница ViewModel происходит от ViewModelBase и свойства имеют доступ к RaisePropertyChanged вызова метода, поэтому ваше право собственность должна выглядеть следующим образом:
private string _title;
public string Title
{
get { return _title; }
set { _title = value; RaisePropertyChanged(nameof(Title)); }
}
Иное имя метода может быть использован для RaisePropertyChanged, такие как Набор или SetProperty. Извините, если это немного поздно, но надеюсь, что это поможет.
Проверьте * DataContext *, а также помните, что по умолчанию значение 'x: Bind' равно * OneTime *. – Romasz