Może ubiorę to trochę bardziej w treść.
Na początek dodam, że aplikacja jest pisana na kafelkowy windows8, ale to nie powinno mieć jakiegoś większego znaczenia.
Moja klasa do której elementu zdarzenia chciałbym się dostaę wygląda tak...
Kopiuj
class Kategoria
{
private CheckBox Kw { get; set; }
private TextBox Kat { get; set; }
private StackPanel Frame { get; set; }
private Button Add { get; set; }
private TextBox Kwota { get; set; }
public Kategoria()
{
Kw = new CheckBox();
Kat = new TextBox();
Frame = new StackPanel();
Add = new Button();
Kwota = new TextBox();
Kw.Content = "Stała kwota?";
Kat.Text = "Nazwa kategorii";
Add.Content = "Dodaj";
Kwota.Text = "Miesięczna kwota";
Kw.Checked+=Kw_Checked;
Kw.Unchecked+=Kw_Unchecked;
//Add.Click +=--------------????--------------------- ;
Frame.Orientation = Orientation.Horizontal;
Frame.Children.Add(Kw);
Frame.Children.Add(Kat);
Frame.Children.Add(Add);
}
private void Kw_Unchecked(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
Frame.Children.Remove(Kwota);
}
private void Kw_Checked(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
Frame.Children.Remove(Add);
Frame.Children.Add(Kwota);
Frame.Children.Add(Add);
}
public StackPanel GetHndlr()
{
return Frame;
}
}
Klasa która ma być serializowana:
Kopiuj
public class Option
{
public bool Checked { get; set; }
public string Title { get; set; }
public string Value { get; set; }
public Option(bool check, string title, string value)
{
Checked = check;
Title = title;
Value = value;
}
}
A tutaj moja metoda serializująca ( nie jest jeszcze kompletna, ale to brak dosłownie dwóch linijek gdzie będzie dodawany nowy obiekt typu Opt do listy );
Kopiuj
private async Task Serialize(List<Option> Op)
{
using (var stream = await ApplicationData.Current.LocalFolder.OpenStreamForWriteAsync("Opcje.txt", CreationCollisionOption.ReplaceExisting))
{
XmlSerializer Serializer = new XmlSerializer(typeof(List<Option>));
using (XmlWriter xml = XmlWriter.Create(stream, new XmlWriterSettings() { Indent = true }))
{
Serializer.Serialize(xml, Op);
}
}
}
Chodzi mi głownie o to żeby po kliknięciu na przycisk dodaj z klasy Kategoria wywołana została metoda Serialize.