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...
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:
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 );
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.