2016-09-29 7 views
0
でバインド

私は次のクラスがあります。カスタムクラス: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で設定されている プロパティは、プラットフォームの最小バージョン がthisによるプロジェクト(TargetPlatformMinVersion)

に指定されて、私は、Windowsの最小バージョンを設定する必要があり、私がやった中で存在しているかどうかをチェック

enter image description here

は私も同じ名前空間を作成する代わりに、モデルプロジェクトのメインプロジェクトでローカル子孫を作成しようとしました:ということ

他に何をすべきですか?

+0

:http://stackoverflow.com/questions/32230952/using-xbind-inside-the-gridviews-itemtemplate- MainPage.csでは、このようにDataContextを設定します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:おそらく関連

public MainPage() 
    { 
     this.InitializeComponent(); 
     ModelObject modelObject = new ModelObject(); 
     DataContext = modelObject; 
    }