2015-03-12 15 views
5

में Xamarin फॉर्म पिकर आइटम स्रोत बाध्यकारी मुझे अपने Xamarin फॉर्म में राज्य पिकर बनाने की आवश्यकता है। मैं विचार बनाने के लिए Xaml फ़ाइल का उपयोग कर रहा हूँ।Xamarin

किसी भी एक मुझे आइटम स्रोत के साथ Xaml में पिकर बाध्य करने के लिए मदद कर सकते हैं?

+1

http://stackoverflow.com/help/how-to-ask –

+0

पिछली बार मैं जाँच की XAML में पिकर के लिए कोई ItemSource बाध्यकारी संपत्ति नहीं थी। उस ने कहा कि आपको या तो कोड में या कस्टम बाइंडेबल पिकर के माध्यम से बाध्यकारी करना चाहिए (उदाहरण: https://forums.xamarin.com/discussion/30801/xamarin-forms-bindable-picker) – Wizche

+0

thecoshman - कभी-कभी हमारे पास कोई सुराग नहीं है शुरू करें और सलाह/नमूने के लिए यहां आएं –

उत्तर

1

आप एक्सएएमएल में ऐसा करने में सक्षम नहीं होंगे, क्योंकि आप here देख सकते हैं।

आपको अपने नियमित एपीआई या this जैसे कुछ का उपयोग करके कोड को पीछे लोड करना होगा।

आप अपनी सूची को JSON या पसंदीदा प्रारूप के रूप में क्रमबद्ध भी कर सकते हैं, और इसे deserialize और इसे Picker पर पास कर सकते हैं।

2

XLabs एक bindable पिकर है कि मैं महान करने के लिए कई परियोजनाओं में इस्तेमाल किया है का एक उत्कृष्ट उदाहरण है प्रभावित करते हैं:

https://github.com/XLabs/Xamarin-Forms-Labs

यह आपको 'ItemsSource' सूची दृश्य की कार्यक्षमता को दोहराने के लिए अनुमति देगा।

0

यह कार्यक्षमता पिछले अस्तित्व में नहीं थी, लेकिन इसे हाल ही में नियमित Xamarin.Forms पिकर में जोड़ा गया था ItemsSource और SelectedItem गुणों के माध्यम से। यह वर्तमान में version 2.3.4-pre1 के लिए पूर्व-रिलीज NuGet पैकेज में है, लेकिन इसे रिलीज़ होने के बाद स्थिर 2.3.4+ संस्करणों में होना चाहिए।

0

जैसा कि जॉर्डन मैज़र्क ने टिप्पणी की, एक्सएलएब्स ने यह किया है। यहाँ एक उदाहरण है:

<ContentPage x:Class="XLabs.Samples.Pages.Controls.ExtendedPickerPage" 
     xmlns="http://xamarin.com/schemas/2014/forms" 
     xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
     xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms" 
     Title="Picker"> 
<ContentPage.Content> 
    <StackLayout x:Name="myStackLayout"> 
     <Label Text="Xaml:" /> 
     <controls:ExtendedPicker x:Name="myPicker" 
           DisplayProperty="FirstName" 
           ItemsSource="{Binding MyDataList}" 
           SelectedItem="{Binding TheChosenOne}" /> 
    </StackLayout> 
</ContentPage.Content>