2016-09-29 8 views
0

У меня есть следующий класс:пользовательского класс не работает с й: 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)

Согласно this, я должен установить минимальную версию Windows, и я сделал что:

enter image description here

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

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

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

+0

Вероятно, связанные с: http://stackoverflow.com/questions/32230952/using-xbind-inside-the-gridviews-itemtemplate- layout-user-control-in-uwp – Clemens

+1

'Value' является слишком используемым именем. Чтобы быть абсолютно безопасным, используйте что-то еще. Также погрузитесь в код и ошибку, чтобы узнать, какое свойство не найдено. –

ответ

0

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

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 правильного типа? Или вы должны использовать строку !?

EDIT: В MainPage.cs установить DataContext, как это:

public MainPage() 
    { 
     this.InitializeComponent(); 
     ModelObject modelObject = new ModelObject(); 
     DataContext = modelObject; 
    } 
Смежные вопросы