0
したがって、クリックイベントで正しいSelectedIndexを取得できません。どんなに私が選ぶどのような項目、私はいつも戻って取得しない-1有効なListView.SelectedIndexを取得できません
をここに私のイベントです:
private void Delete_Click(object sender, RoutedEventArgs e)
{
var index = CitiesDisplay.SelectedIndex;
if(CitiesDisplay.SelectedIndex >= 0)
{
vm.Cities.Remove(vm.Cities[index]);
}
}
そして、ここでは私のListViewです:
<ListView Name="CitiesDisplay" ItemsSource="{Binding}">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" Holding="ListViewItem_Holding">
<!-- Begin Flyout menu -->
<FlyoutBase.AttachedFlyout>
<MenuFlyout>
<MenuFlyoutItem Text="Delete" Click="Delete_Click"/>
<MenuFlyoutItem Text="Navigate To" Click="NavigateTo_Click"/>
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
<!-- End Flyout Menu -->
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<TextBlock Name="CityName" Text="{Binding Name}" FontSize="20"></TextBlock>
<TextBlock Name="MaxTemp" Text="{Binding max}"/>
<TextBlock Name="MinTemp" Text="{Binding min}"/>
<TextBlock Name="CurrentTemp" Text="{Binding temp}"/>
</StackPanel>
<Image Name="Logo" Width="50" Height="50" Source="{Binding icon}" HorizontalAlignment="Right" Margin="5"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
なぜ私は本当に理解していません私は以前のプロジェクトで同じことをしたので、私のSelectedIndexを取得することはできませんし、それは完璧に働いた。
私も、SelectedItemsを無駄に操作しようとしました。
いくつかの追加の詳細
:私は、Visual Studioを使用してのWindows Phone 8.1アプリケーション(WinRTの)を開発しています2015年の更新1.
に変わってしまうの後ろにあなたのコードと同じままでしょうか? – CathalMF
@CathalMF CitiesDisplayにデバッグするとき、私は実際にアイテムを含んでいるアイテムコレクションを持っています(とにかくそれらは表示されます)。 –
CitiesDisplay.ItemsSource = MyItemsのようなコードでリストビューをバインドしていますか?たぶんあなたが表示を変更すると、アイテムソースはすべてをリセットしています。 – CathalMF