2017-03-02 6 views
0

私は、その間をナビゲートし、その間にいくつかのパラメータ、つまりモデルの一部のオブジェクトを渡す必要がある一連のページを持っています。私は、ページIセットアップ私は必要なオブジェクトの型のパラメータを持つこの新しいページのコンストラクタに移動し、そのクラスが実装されている場合は、次のように:ViewModelのオブジェクトを、コードの背後にあるコードから取得する方法

public partial class ArtigoEdit : ContentPage 
{ 
    EditionsViewModel viewModel; 
    public ArtigoEdit(Models.Artigo artigo) 
    { 
     InitializeComponent(); 

     BindingContext = viewModel = new EditionsViewModel(); 

     this.viewModel.Artigo = artigo; 
    } 
} 

あなたは私もMVVMを使用している見ることができるようにパターンとその側に私は私のコンストラクタが受け取るオブジェクトを割り当てる変数「するARTiGO」を持っている:

Models.Artigo artigo; 
public Models.Artigo Artigo 
{ 
    get { return artigo; } 
    set { artigo = value; this.Notify("Artigo"); } 
} 

問題は、私は変更するために、このオブジェクトの属性にアクセスしようとするということです表示され、これらの新しい変数にバインドされるのではなく、ページが開いて変数が表示されないときにオブジェクトがヌルになります。

これは正しい方法ではありませんか?そうでない場合は、私の選択肢は何ですか?私のViewModelsはすべて、クラスを実装していますので、それは心配しないでください。INotifyPropertyChanged! :)

+0

このコードはそれぞれどこにありますか(ビューモデル、コードの背後)?どのようにあなたのページを呼び出し/作成しますか? – Kilazur

+0

最初は見栄えが良いです。渡された値がctorで受信されていることを確認してください。 – CPR43

+0

@Kilazur彼らは自分のコードBehind(1)の一部であり、同じページのモデル(2と3)を表示します。 – FCouto

答えて

0

愚かな私、私は邪魔には申し訳ありません、私は助けようとしたすべての人々に感謝します。起こっていたことは:これらの変数をEntryにバインドしていたのですが、なんらかの理由で情報のサイズに合わせて拡大していないため、そこには表示されませんでした...幸いにも私はそれに気付きました。

関連する問題