Пользовательский класс не работает с x:Bind в UWP

У меня есть следующий класс:

namespace MainProject.Model
{
   public class ModelObject: INotifyPropertyChanged
   {
     public int Value{ get; set; }
   }
}

Я пытаюсь использовать его в моем шаблоне с x:Bind:

 <DataTemplate x:Key="ListViewItemTemplate" x:DataType="model:ModelObject">
    <my:CustomSelector Grid.Column="1" ActualValue="{x:Bind Value}" />
</DataTemplate>

При сборке я всегда получаю это сообщение:

Синтаксическая ошибка XBF '0x09C4': свойство не найдено. Проверьте, существует ли свойство, заданное вами в XAML, в минимальной версии платформы, указанной в проекте (TargetPlatformMinVersion)

В соответствии с этим, я должен установить минимальную версию Windows, и я сделал это:

Я также попытался создать локального потомка в основном проекте вместо модельного проекта, чтобы сделать пространства имен одинаковыми:

namespace MainProject.UWP
  {
       public class UWPModelObject: ModelObject
      {
      }
  }

Что еще я должен сделать?

1 ответ

Попробуй это:

public class ModelObject : INotifyPropertyChanged
{
    public int DaValue
    {
        get { return _daValue; }
        set
        {
            _daValue = value;
            OnPropertyChanged();
        }
    }

    private int _daValue;




    public event PropertyChangedEventHandler PropertyChanged;


    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

Это правильный тип int? Или вы должны использовать строку!?

РЕДАКТИРОВАТЬ: В MainPage.cs установить текст данных следующим образом:

public MainPage()
    {
        this.InitializeComponent();
        ModelObject modelObject = new ModelObject();
        DataContext = modelObject;
    }
Другие вопросы по тегам