ठीक है तो मैं निम्नलिखित दृश्य है:निर्दिष्ट डाली मान्य नहीं है POCO के
public class MainViewModel
{
public MainModel Model { get; set; }
}
यहाँ MainModel है:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="BoomSauce.MainPage">
<ListView ItemsSource="{Binding Model.MyPocos}">
<ListView.ItemTemplate>
<DataTemplate>
<Label Text="{Binding MyString}"></Label>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage>
इस दृश्य के BindingContext निम्नलिखित ViewModel है:
public class MainModel
{
public List<MyPoco> MyPocos { get; set; }
}
यहाँ MyPoco है:
public class MyPoco
{
public string MyString { get; set; }
public int MyInt { get; set; }
}
यहाँ App में चल रहा है()
MainPage = new MainPage();
var viewModel = new MainViewModel
{
Model = new MainModel
{
MyPocos = new List<MyPoco>()
{
new MyPoco() { MyInt = 1, MyString = "a" },
new MyPoco() { MyInt = 2, MyString = "b" },
new MyPoco() { MyInt = 3, MyString = "c" },
new MyPoco() { MyInt = 4, MyString = "d" },
new MyPoco() { MyInt = 5, MyString = "e" }
}
}
};
MainPage.BindingContext = viewModel;
वास्तव में यह और कुछ नहीं, मैं निम्न अपवाद हो रही है:
निर्दिष्ट डाली मान्य नहीं है।
लेकिन कोई आंतरिक अपवाद नहीं है और कोई और संदर्भ नहीं है, जहां तक मैं कह सकता हूं कि मैं सब ठीक से कर रहा हूं।
स्ट्रिंग की एक सूची के लिए बाइंडिंग ठीक काम करता है, जब मैं किसी अन्य वस्तु के साथ कोई बात बिगड़ जाए कि उस की जगह बस।
कोई विचार जहां मैं गलत हो रहा हूं?
धन्यवाद
आपको डेटा टेम्पलेट के अंदर "लेबल" के बजाय "टेक्स्टसेल" का उपयोग करना चाहिए और इसे काम करना चाहिए। –
@ डेविडकारला लेबल मेरे लिए काम कर रहा है, लेकिन ** ** क्या मुझे टेक्स्टसेल का उपयोग करना चाहिए? – JMK
सुनिश्चित नहीं है कि कोई प्रदर्शन अंतर है ... अन्यथा ... यदि यह काम करता है, तो बदलने की कोई आवश्यकता नहीं है;) –