2015-08-28 13 views
5

ho questo layout:MvvmCross Frammento di legame non funziona

<cirrious.mvvmcross.binding.droid.views.MvxListView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:local="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/accountList" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    local:MvxItemTemplate="@layout/accountlistitem" 
    local:MvxBind="ItemsSource AllAccounts" /> 

Il layout è caricato nel frammento con questo codice:

public new AccountListViewModel ViewModel 
{ 
    get { return (AccountListViewModel)base.ViewModel; } 
    set { base.ViewModel = value; } 
} 

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
{ 
    var ignore = base.OnCreateView(inflater, container, savedInstanceState); 
    return this.BindingInflate(Resource.Layout.AccountListLayout, null); 
} 

E nella mia Changed ViewModel (la proprietà è iniettato via fody):

public ObservableCollection<Account> AllAccounts 
{ 
    get { return accountRepository.Data; } 
    set { accountRepository.Data = value; } 
} 

Questo non funzionerà e non mostrerà alcun dato. Ma quando aggiungo le seguenti righe al frammento miei dati viene visualizzata correttamente:

var list = view.FindViewById<MvxListView>(Resource.Id.accountList); 
    list.ItemsSource = ViewModel.AllAccounts; 

In un altro esempio, questo ha funzionato senza problemi sulla versione stabile. Anche il legame sembra funzionare in un'attività, ma non in un frammento. Per questo progetto io uso v4.0.0 beta2. Mi manca qualcosa?

Link alla GitHub Repository: https://github.com/NPadrutt/MoneyManager

Grazie

+0

Problema collegato a questo: https://github.com/MvvmCross/MvvmCross/issues/1120 – Martijn00

+0

Ho avuto lo stesso problema. Il mio progetto utilizza le funzionalità AppCompat. Ho dovuto aggiungere Cirrious.MvvmCross.Droid.Support.AppCompat prima che l'associazione funzionasse nella beta v4 2. Non sono sicuro se questo funzionerà per te, solo menzionando come ha funzionato per me. – GrantVS

+0

Purtroppo questo non cambia nulla .. La cosa interessante è che si verifica solo nel frammento. il legame di una normale attività funziona bene. – NPadrutt

risposta

0

ho costruito il mio proprio dll del ramo di sviluppo attuale. Qui il problema è risolto. Quindi sembra che la soluzione sia solo aspettare la beta3 :)

Problemi correlati