В ViewModel я получаю данные из банка данных и записываю некоторые данные в список строк.После того, как это закончено, я создаю кнопки в коде позади.
Теперь я хочу связать каждую из этих кнопок, чтобы я мог делать что-то в ViewModel при нажатии кнопок.
С помощью следующего кода это должно быть понятнеечто я хочу сделать и как я пытался добраться до цели.
В ViewModel у меня есть метод LoadData ():
public List<string> Items { get; set; }
private async Task<bool> LoadData()
{
Items = new List<string>();
var data = await getData.Load();
foreach(var item in data)
{
Items.Add(item);
}
ItemsLoaded?.Invoke(this);
}
После того, как это закончено, я вызываю метод в коде, который создаст кнопки с этими элементами:
viewModel.ItemsLoaded += AddItemsToUi;
private void AddItemsToUi(MainPageViewModel vm)
{
foreach (var item in vm.Items)
{
var button = new Button
{
Text = item,
TextColor = Color.White
}
}
}
Код сильно укорочен и анонимизирован, но я надеюсь, что ясно, что я хочу сделать.
Допустим, я хочу изменить TextColor кнопки, которая нажимается красным идругие кнопки TextColor синим цветом.Я думал, я мог бы сделать это с какой-то привязкой, но я даже не знаю, с чего начать.Мне нужна привязка, которую я могу как-то определить.Возможно ли это?
Изменить из-за возможного дубликата: дубликаты вопросов просто нуждаются в единственном обычном связывании.Моя проблема в том, что мне нужно добавить привязку в цикле, но я все равно хочу как-то идентифицировать каждый связанный элемент.Я не знаю, правильный ли это подход или мне нужно что-то другое, потому что это невозможно.