我在Xamarin中使用MvvMCross綁定代碼片段時遇到了一些問題。 首先我想做什麼或我做什麼: 我希望我的解釋沒問題。我從最低的元素開始。 首先,我構建了我的UI動態。 我有很多「模板」。他們定義了我的片段剪輯,例如一個Lable和一個ACTextEdit字段。Mvvmcross綁定代碼上的一個片段的孩子
然後我有很多片段(我的觀點)。它們包含這些代碼片段 在一個單獨的類中,我將片段添加到片段併爲它們提供了唯一的ID 我的理由是使用片段和ViewPager與Mvx的教程。的Ostebaron:
http://blog.ostebaronen.dk/2013/07/fragments-and-viewpager-with-mvx.html
,現在我要創建一個Bindingset我Fragement和我VieModel。然後我必須將元素與視圖模型中的屬性綁定。 但我不知道在代碼中的哪個地方。我試圖在HomeView中,在OncreateView函數中執行它,但它不起作用。
有人知道如何解決這個問題或給我一些建議嗎?
我選擇滿足這個綁定:
using Android.OS;
using Android.Views;
using Android.Widget;
using Cirrious.MvvmCross.Binding.BindingContext;
using Cirrious.MvvmCross.Binding.Droid.BindingContext;
using Cirrious.MvvmCross.Droid.Fragging.Fragments;
using TipCalc.Core.ViewModels;
namespace TipCalc.UI.Droid.Views.Fragments
{
public class TipCalcFragment : MvxFragment
{
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.Inflate(Resource.Layout.view_tip, container, false);
var edit = v.FindViewById<TextView>(Resource.Id.editTest43);
var ignore = base.OnCreateView(inflater, container, savedInstanceState);
var set = this.CreateBindingSet<TipCalcFragment, TipViewModel>();
set.Bind(edit).To(vm => vm.Tip);
set.Apply();
return this.BindingInflate(Resource.Layout.view_tip, null);
}
}
}
,它也許不到風度的工作錯了地方?
你可以編輯你的問題向我們展示一個沒有工作的代碼的例子嗎?或者告訴我們錯誤/問題是什麼?還有一些很好的教程 - 例如http://enginecore.blogspot.co.uk/2013/06/mvvmcross-android-app-with-dynamic.html – Stuart
我遇到了同樣的問題,'this.CreateBindingSet'在'MvxFragment'中不可用。任何幫助將非常感激。 – Telemat
@Telemat CreateBindingSet可用,一旦你手動插入正確的導入:'使用Cirrious.MvvmCross.Binding.BindingContext;' – Thomas