Это мой первый опыт работы с ToggleSwitch. Чего я пытаюсь добиться, так это показать разные данные из списка с помощью разных переключателей ToggleSwitches.
У меня есть ListView с несколькими TextBlocks и одним ToggleSwitch для каждой строки данных.
Затем я заполняю ListView данными из List. (Список заполняется с использованием класса, который предусматривает
общественный переключатель ToggleSwitch {получить; набор;}
Вот как я пытаюсь получить данные ToggleSwitch из каждой строки:
private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
{
for (int a = 0; a < jointList.Count; a++)
{
jointList[a].Switch = sender as ToggleSwitch;
if (jointList[a].Switch != null)
{
if (jointList[a].Switch.IsOn == true)
{
ToggleTest.Text = jointList[a].ProductId.ToString();
ToggleTest.Visibility = Visibility.Visible;
}
else
{
ToggleTest.Visibility = Visibility.Collapsed;
}
}
}
}
К сожалению, я получаю один и тот же (последний добавленный) productId от всех ToggleSwitches, как если бы они указывали на одно и то же место.
РЕДАКТИРОВАТЬ> Я переписал код, как предложил touseef:
private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
{
for (int i = 0; i < jointList.Count; i++)
{
if (jointList[i].Value == true)
{
ToggleTest.Text = jointList[i].ProductId.ToString();
// ToggleTest.Text = jointList[a].ProductId.ToString();
ToggleTest.Visibility = Visibility.Visible;
}
else
{
ToggleTest.Visibility = Visibility.Collapsed;
}
}
}
Но теперь ничего не появляется.
РЕДАКТИРОВАТЬ: Вот еще одна попытка решить проблему:
private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
{
foreach (var record in jointList)
{
if (record.Value == true)
{
ToggleTest.Text = record.ProductId.ToString();
ToggleTest.Visibility = Visibility.Visible;
}
else
{
ToggleTest.Visibility = Visibility.Collapsed;
}
}
}
И теперь работает только один ToggleSwitch, тот, что соответствует последней добавленной записи (я дергал ProductId из JointList). Другие переключатели ToggleSwitch не работают. Они не возвращают никаких данных при использовании приведенного выше кода.