के भीतर ViewModel को बदल रहा है मेरे एंड्रॉइड एप्लिकेशन के साथ छोटी समस्या और मुझे नहीं पता कि एमवीवीएम क्रॉस के साथ इसे कैसे हल किया जाए।MVVMCross एक MvxBindableListView
यहाँ मेरी मॉडल है
public class Article
{
string Label{ get; set; }
string Remark { get; set; }
}
मेरे ViewModel
public class ArticleViewModel: MvxViewModel
{
public List<Article> Articles;
....
}
मेरे layout.axml ...
<LinearLayout
android:layout_width="0dip"
android:layout_weight="6"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/layoutArticleList">
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/editSearch"
android:text=""
android:singleLine="True"
android:selectAllOnFocus="true"
android:capitalize="characters"
android:drawableLeft="@drawable/ic_search_24"
local:MvxBind="{'Text':{'Path':'Filter','Mode':'TwoWay'}}"
/>
<Mvx.MvxBindableListView
android:id="@+id/listviewArticle"
android:choiceMode="singleChoice"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
local:MvxItemTemplate="@layout/article_rowlayout"
local:MvxBind="{'ItemsSource':{'Path':'Articles'}}" />
</LinearLayout>
...
और यहाँ आता है मेरी समस्या, "article_rowlayout"
...
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/blue">
<TextView
android:id="@+id/rowArticleLabel"
android:layout_width="0dip"
android:layout_weight="14"
android:layout_height="wrap_content"
android:textSize="28dip"
local:MvxBind="{'Text':{'Path':'Label'}}" />
<ImageButton
android:src="@drawable/ic_modify"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/rowArticleButtonModify"
android:background="@null"
android:focusable="false"
android:clickable="true"
local:MvxBind="{'Click':{'Path':'MyTest'}}"
/>
...
"MyTest" नामक "क्लिक" कमांड MVxBindableListView द्वारा दिए गए आइटम पर लिंक किया गया है। दूसरे शब्दों में, मेरे ViewModel के बजाय, मेरे मॉडल "आलेख" में "MyTest" कमांड के लिए खोज पर क्लिक करें। मेरे व्यूमोडेल "ArticleViewModel" को लिंक करने के लिए मैं उस व्यवहार को कैसे बदल सकता हूं जो मेरे एमवीएक्सबिंडबल लिस्ट व्यू के लिए ज़िम्मेदार है?
कोई सुझाव?
वास्तव में, मैं अपने सूचीदृश्य पर व्यवहार के साथ 4 imagebuttons है। तो पहला समाधान असंभव है। दूसरी बात के लिए, मेरी समस्या यह है कि मैं अपनी सूची किसी अन्य ढांचे (vici coolstorage) से बताता हूं, और "सक्रिय आर्टिकल" के साथ एक नया निर्माण करने के लिए पूरी सूची को पार्स करने से गंभीर ओवरहेड (मेरे पास कई हजार आइटम हो सकते हैं)। लेकिन वैसे भी, मैं इस समाधान का प्रयास करूंगा और आपको यह बताएगा कि यह काम करता है या नहीं। वैसे, आपको नहीं लगता कि आपके ढांचे पर "सापेक्ष स्रोत" बनाना मुश्किल होगा? धन्यवाद! – hugoterelle
ने आपके लिए कोई विकल्प जोड़ा है - उत्तर में अपडेट देखें। "वैसे, आपको नहीं लगता कि यह मुश्किल होगा" इसे सभी प्लेटफार्मों पर रिश्तेदार संसाधन की पहचान करने के किसी तरीके की आवश्यकता होगी (उदाहरण के लिए इसे Droid में पैरेंट पदानुक्रम नेविगेट करने का कुछ तरीका उपयोग करना पड़ सकता है) और फिर संपत्ति की पहचान करना बाध्य करने के लिए (Droid मूल दृश्य के पास सुविधाजनक डेटाकॉन्टेक्स्ट निर्भरता ऑब्जेक्ट नहीं है)। यह संभव हो सकता है - यह देखने में आपकी दिलचस्पी होगी कि आप क्या चाहते हैं - अपने आदर्श अक्षीय समाधान को गिटब/स्लॉज/एमवीवीएमक्रॉस – Stuart
हाय स्टुअर्ट में किसी समस्या के रूप में दिखने के लिए स्वतंत्र महसूस करें, आपका नया समाधान मेरे लिए समाधान है। बहुत बहुत धन्यवाद। मैंने अपना समाधान अपने कोड में रखा है, और मैं जिथब में एक समस्या के रूप में "आदर्श धुरी दृष्टि" (मेरे लिए) डालूंगा। फिर से धन्यवाद, आप महान हैं! – hugoterelle