我在这里提出了问题,但我们无法解决我的问题。当我们做出一些假设时,我决定创建新问题,而前一个问题并不涉及真正的问题(我们认为这是绑定的问题,但正如您将读到的那样,它不是)。
简而言之,我有一个 ListView,其中包含来自名为jointList 的列表中的数据。该列表运行良好,并且包含所有必要的数据。(我检查过了)
在 ListView 的每一行上,我都放置了一个 ToggleSwitch(在 xaml 中),然后我尝试对每个开关做一些事情。
每个开关应对应于同一行的数据。
我创建了应该适用于所有 toggleSwitches 的 Toggled 事件,如下所示:
private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
{
foreach (var product in jointList)
{
if (product.IsOn == true)
{
ToggleTest.Text = product.ProductId.ToString(); // this is for testing only, later I would do something with the data retrieved
ToggleTest.Visibility = Visibility.Visible;
}
else
{
ToggleTest.Visibility = Visibility.Collapsed;
}
}
}
但这只会让一个 toggleSwitch 工作。它是对应于列表中最后添加的产品的开关(我猜它指的是最后一个 Id)。其他开关什么也不返回,好像该方法没有正确地遍历列表,或者好像只有一个开关连接。
那么,是否可以像我尝试的那样仅使用一个 Toggled 事件来启动并运行所有开关?