Если вы хотите связать элемент (на основе индекса) из коллекции C # с Entry
, вы можете сделать это следующим образом.
Получите экземпляр ViewModel и установите его в качестве BindingContext наСтраница
var viewModel = MainPageViewModel.GetInstace();
BindingContext = viewModel;
Создайте свои записи, если у вас их больше одного:
var textBox1 = new Entry()
{
Placeholder = "ex Math homework",
TextColor = Xamarin.Forms.Color.FromHex("#18E1BF"),
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center
};
var textBox2 = new Entry()
{
Placeholder = "ex Science homework",
TextColor = Xamarin.Forms.Color.FromHex("#18E1BF"),
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center
};
var textBox3 = new Entry()
{
Placeholder = "ex English homework",
TextColor = Xamarin.Forms.Color.FromHex("#18E1BF"),
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center
};
Установите привязки. В этом примере, поскольку я не понял, что означает TaskNumber
, я вместо этого использую фиксированные индексы
textBox1.SetBinding(Entry.TextProperty, "SubtasksList[0]");
textBox2.SetBinding(Entry.TextProperty, "SubtasksList[1]");
textBox3.SetBinding(Entry.TextProperty, "SubtasksList[2]");
Затем вы просто добавляете свои записи в представление. Я использую StackLayout
, который я назвал ItemsContainer
ItemsContainer.Children.Add(textBox1);
ItemsContainer.Children.Add(textBox2);
ItemsContainer.Children.Add(textBox3);
Вышеуказанный результат должен дать вам такой результат:
![enter image description here](https://i.stack.imgur.com/Vs6JN.png)
Страница Xamarin с 3 программно созданными Entries
каждая из которых привязана к элементу C # Collection.
Надеюсь, это поможет .-