So habe ich Probleme, einen richtigen SelectedIndex in einem Klickereignis zurück. Egal, welche Artikel ich wählen, ich zurück immer -1Kann keinen gültigen ListView.SelectedIndex
Hier ist meine Veranstaltung:
private void Delete_Click(object sender, RoutedEventArgs e)
{
var index = CitiesDisplay.SelectedIndex;
if(CitiesDisplay.SelectedIndex >= 0)
{
vm.Cities.Remove(vm.Cities[index]);
}
}
Und hier meine Listview ist:
<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>
Ich verstehe wirklich nicht, warum ich Ich kann meinen SelectedIndex nicht bekommen, weil ich dasselbe in einem früheren Projekt gemacht habe und es einwandfrei funktioniert hat.
Ich habe auch versucht, SelectedItems vergeblich zu manipulieren.
einige zusätzliche Details: Ich bin ein Windows Phone 8.1 App Entwicklung (WinRT) Visual Studio 2015 Update 1.
Aus curosity ändern würden, wenn Sie in Ihrem CitiesDisplay Objekt debuggen ist es alles in der Sammlung haben? – CathalMF
@CathalMF Beim Debuggen in CitiesDisplay habe ich tatsächlich die Items-Sammlung, die meine Artikel enthält (und sie werden trotzdem angezeigt). –
Verbindest du deine Listenansicht im Code mit CitiesDisplay.ItemsSource = MyItems; Vielleicht, wenn Sie die Anzeige ändern, wird die Objektquelle zurückgesetzt. – CathalMF