i'm struggling again with MVVM. I've read some tutorials, but my problem still exists ...
I'm trying to use MVVM in my project and need to use my ObservableCollection (created in ViewModel) in my MainWindows.xaml.cs.
I've a Modell:
public class MvItems : INotifyPropertyChanged
{
private string mvName;
public string MvName
{
get { return mvName; }
set
{
mvName = value;
OnPropertyChanged(nameof(MvName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
And a ViewModel:
public class MVViewModel
{
public ObservableCollection<MvItems> Mailverteiler { get { return _Mailverteiler; } }
public ObservableCollection<MvItems> _Mailverteiler = new ObservableCollection<MvItems>();
public void LoadMv()
{
ObservableCollection<MvItems> temp = new ObservableCollection<MvItems>();
temp.Add(new MvItems { MvName = "ASD" });
temp.Add(new MvItems { MvName = "BLA" });
temp.Add(new MvItems { MvName = "MUH" });
_Mailverteiler = temp;
}
}
View: Now i can add data from my MainWindows.xaml.cs via
zTiredV2.ViewModel.MVViewModel MVObject = new zTiredV2.ViewModel.MVViewModel();
MVObject.LoadMv();
lvMailverteiler.DataContext = MVObject;
Then i see "ASD", "BLA" and "MUH". But how can i now get access to them, when i press a other button?
Need something like this:
foreach (MvItems mvitem in Mailverteiler)
{
if (mvitem.IsChecked == true)
{
await this.ShowMessageAsync("Mailverteiler", mvitem.MvName, MessageDialogStyle.Affirmative);
}
}
And how can i add 1 more item to the list?