0

私は次のクラスを持っています:

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 の最小バージョンを設定する必要があり、それを行いました。

ここに画像の説明を入力

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

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

他に何をすべきですか?

4

1 に答える 1

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 は正しい型ですか? それとも、文字列を使用する必要があります!?

編集: MainPage.cs で、次のように datacontext を設定します。

public MainPage()
    {
        this.InitializeComponent();
        ModelObject modelObject = new ModelObject();
        DataContext = modelObject;
    }
于 2016-09-29T17:02:51.987 に答える