Hey,
ich versuche eine UWP App mit Visual Studios mit einem Kalender zu erstellen, allerdings stecke ich momentan an einer Stelle fest.
Meine App ist folgendermaßen aufgebaut:
Sie besteht aus 2 Textboxen und einem Datepicker. Der Inhalt dieser soll gespeichert werden und dann in einer anderen Textbox als Termine dargestellt werden. Soweit funktioniert so auch alles, allerdings würde ich gerne mehrere Termine anlegen können und diese auch löschen können. Außerdem werden die Termine auch relativ komisch in der Textbox dargestellt.
Mein Code:
Kalender.xaml.cs
KalenderClass.cs:
Und so werden die Termine dargestellt:
Danke!
ich versuche eine UWP App mit Visual Studios mit einem Kalender zu erstellen, allerdings stecke ich momentan an einer Stelle fest.
Meine App ist folgendermaßen aufgebaut:
Sie besteht aus 2 Textboxen und einem Datepicker. Der Inhalt dieser soll gespeichert werden und dann in einer anderen Textbox als Termine dargestellt werden. Soweit funktioniert so auch alles, allerdings würde ich gerne mehrere Termine anlegen können und diese auch löschen können. Außerdem werden die Termine auch relativ komisch in der Textbox dargestellt.
Mein Code:
Kalender.xaml.cs
Code:
public Kalender()
{
this.InitializeComponent();
}
private async void showDialog(string message)
{
var window = new Windows.UI.Popups.MessageDialog("Achtung", message);
await window.ShowAsync();
}
private void ButtonStartseite_Click(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(MainPage));
}
private void SaveButton_Click(object sender, RoutedEventArgs e)
{
List<KalenderClass> kList = new List<KalenderClass>();
KalenderClass k1 = new KalenderClass();
k1.termin = TerminTextbox.Text;
k1.datum = DatePicker1.Date;
k1.person = PersonTextbox.Text;
kList.Add(k1);
SaveData(kList);
showDialog("Daten wurden in Datei geschrieben");
}
private async void SaveData(List<KalenderClass> kList)
{
StorageFolder ordner = ApplicationData.Current.LocalFolder;
StorageFile datei = await ordner.CreateFileAsync("Kalender.txt", CreationCollisionOption.ReplaceExisting);
if(kList.Count != 0)
{
await FileIO.WriteTextAsync(datei, JsonConvert.SerializeObject(kList));
}
}
private async void ReadButton_Click(object sender, RoutedEventArgs e)
{
StorageFolder ordner = Windows.Storage.ApplicationData.Current.LocalFolder;
StorageFile datei = await ordner.GetFileAsync("Kalender.txt");
string inhalt = await FileIO.ReadTextAsync(datei);
var k = JsonConvert.DeserializeObject(inhalt);
TermineTextbox.Text = k.ToString();
}
Code:
public class KalenderClass
{
public string termin { get; set; }
public DateTimeOffset datum { get; set; }
public string person { get; set; }
public override string ToString()
{
return $"{termin} {datum} {person}";
}
}
Danke!
Zuletzt bearbeitet: