嗨,我正在做一个笔记应用程序,我已经将它连接到我的 SQL Azure 数据库。这些项目通过 MobileServiceCollectionView 自动填充。点击一个项目后,应该会在右侧打开一个 detailView...
我不知道为什么,但是点击一个项目并没有选择它,所以我无法在 noteListView_Tapped 事件中检查 listView.SelectedItem .....
我的列表视图有什么问题?
<ListView x:Name="noteListView" Margin="20,0,0,0" Tapped="noteListView_Tapped">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="2">
<CheckBox x:Name="CheckBoxComplete" IsChecked="{Binding Complete, Mode=TwoWay}" Checked="CheckBoxComplete_Checked" Padding="3"/>
<TextBlock x:Name="TextBlockTodoItem" Text="{Binding Title}" Padding="3" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这里是 Tapped 事件..它崩溃了TodoItem t = (TodoItem)lv.SelectedItem;
所以我添加了 if 条件,现在除了调试打印什么都没有发生。
private void noteListView_Tapped(object sender, TappedRoutedEventArgs e)
{
Debug.WriteLine("0");
ListView lv = (ListView)sender;
if (lv.Items.Count > 0)
{
if (lv.SelectedItems.Count > 0)
{
TodoItem t = (TodoItem)lv.SelectedItem;
Debug.WriteLine("1");
Debug.WriteLine(t.Title);
try
{
Location l = TodoItem.StringToLocation(t.LocationTaken);
Debug.WriteLine("2");
MapLayer.SetPosition(locationIcon, l);
map.SetView(l, 15.0f);
}
catch (Exception ex)
{
Debug.WriteLine("Map set position failed.: " + ex.Message);
}
}
}
}
那么我必须更改什么或者我如何知道已单击/选择了哪个项目?