【发布时间】:2016-03-16 01:36:05
【问题描述】:
我有一个像这样的 GridView:
<GridView x:Name="MyGrid" ItemsSource="{x:Bind Wallpapers}" SelectionMode="Multiple">
<GridView.ItemTemplate>
<DataTemplate x:DataType="data:ImageItem">
<Image Width="150" Height="150" Source="{x:Bind img}" Tag="{x:Bind TagIndex}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
我需要获取选定的 Image 控件以获取它们的 Tag 属性。 我试过这样:
foreach (Image img in MyGrid.SelectedItems)
{
int index = img.Tag as int;
}
但我得到 System.InvalidCastException。我该怎么做?
【问题讨论】:
-
你的调试器在运行时告诉你
Tag属性的类型是什么? -
它在 foreach 行上给了我 System.InvalidCastException。 tag 属性正确设置为 int
-
执行代码可能会告诉你,但使用调试器应该会告诉你为什么。我总是建议在抛出时打破所有 CLR 异常
-
在尝试将 MyGrid.SelectedItems 转换为 Image 时不会停止调试。它只告诉我 SelectedItems 是 System._ComObject 类型
标签: gridview uwp windows-10-mobile