Reputation: 23
My model looks like this:
public class TaskFrequency
{
public int Id { get; set; }
public string FrequencyString { get; set; }
public eFrequency Frequency { get; set; }
}
then I tried the following but didn't work: ItemDisplayBinding = new Binding("FrequencyString");
I know ItemDisplayBinding is of BindingBase class. When I set it in XAML, it works fine.
Upvotes: 2
Views: 1635
Reputation: 10978
I make a code sample for your reference.
xaml:
<Picker
x:Name="picker"
Title="Select ....."
ItemsSource="{Binding taskFrequencies}"
TitleColor="Red" />
code behind:
public ObservableCollection<TaskFrequency> taskFrequencies { get; set; }
public PickerPage()
{
InitializeComponent();
taskFrequencies = new ObservableCollection<TaskFrequency>()
{
new TaskFrequency{ FrequencyString="FrequencyString1", Id=1 },
new TaskFrequency{ FrequencyString="FrequencyString2", Id=2 },
new TaskFrequency{ FrequencyString="FrequencyString3", Id=3},
};
picker.ItemDisplayBinding = new Binding("FrequencyString");
this.BindingContext = this;
}
model:
public class TaskFrequency
{
public int Id { get; set; }
public string FrequencyString { get; set; }
//public eFrequency Frequency { get; set; }
}
Use the Bindbase like below works for me.
picker.ItemDisplayBinding = new Binding("FrequencyString");
Screenshot:
Upvotes: 2