Ich entwickle CRUD App für WindowsPhone 8.1. Ich kann der ObservableCollection-Auflistung Daten hinzufügen, und diese Daten werden in ListBox angezeigt. Ich benutze MVVM Muster.ListBoxItem aus ViewModel entfernen
Voll Repository https://github.com/OlegZarevych/CRUD_WP81
Ausblick:
<ListBox x:Name="Storage" ItemsSource="{Binding Path=Models, Mode=TwoWay}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="30" Width="450">
<TextBlock x:Name="nameblock" Text="{Binding Name}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Und Ansichtsmodell Klasse
public class ViewModel
{
public string NewName { get; set; }
public string NewSurname { get; set; }
public int NewAge { get; set; }
public int i=0 ;
public ObservableCollection<DataStorageModel> Models { get; set; }
//Event Handlers
public ICommand CreateClickCommand { get; set; }
public ICommand UpdateClickCommand { get; set; }
public ICommand DeleteClickCommand { get; set; }
public ViewModel()
{
CreateClickCommand = new RelayCommand(arg => CreateClickMethod());
UpdateClickCommand = new RelayCommand(arg => UpdateClickMethod());
DeleteClickCommand = new RelayCommand(arg => DeleteClickMethod());
Models = new ObservableCollection<DataStorageModel>() {};
}
private void CreateClickMethod()
{
Models.Add(new DataStorageModel() { Name = NewName, Surname = NewSurname, Age = NewAge, Count=i++ });
}
private void UpdateClickMethod()
{}
private void DeleteClickMethod()
{}
}
Ich möchte um Daten zu ändern und zu löschen. Wie ich gut verstehe, muss ich die Anzahl aus ListBoxItems auswählen und diese Anzahl in ObservableCollection löschen (aktualisieren). Wie kann ich mit XAML-Code aus der ViewModel-Klasse arbeiten? Wie kann ich Storage in ViewModel initialisieren?
Oder in MVVM ist der bessere Weg, um dieses Problem zu lösen?