Hallo miteinander,
ich schreibe gerade an einer XAML GUI die ihr aussehen verändern kann (SKIN)! dazu hier folgender Quellcode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74:
| using System; using System.IO; using System.Windows; using System.Windows.Controls; using System.Windows.Markup; using System.Xml; using Microsoft.Win32;
namespace simpleXAML { public class mainWindow : Window { static String Applstartpath; static readXML conf;
[STAThread] public static void Main() { try { Application xamlApp = new Application();
Applstartpath = System.Reflection.Assembly.GetExecutingAssembly().Location.Remove(System.Reflection.Assembly.GetExecutingAssembly().Location.LastIndexOf("\\"));
conf = new readXML(Applstartpath);
if (conf.read("skinpath").Equals("")) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Alle Dateien (*.*)|*.*"; if ((bool)dlg.ShowDialog()) { conf.write("skinpath", dlg.FileName); } }
XmlTextReader xmlReader = new XmlTextReader(conf.read("skinpath")); Window win = XamlReader.Load(xmlReader) as Window;
Button btn1 = win.FindName("btn1l") as Button;
if (btn1 != null) { btn1.Click += cmdSkin; }
xamlApp.Run(win); }
catch (Exception expn) { MessageBox.Show(expn); } }
static void cmdSkin(object sender, RoutedEventArgs args) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Alle Dateien (*.*)|*.*"; if ((bool)dlg.ShowDialog()) { conf.write("skinpath", dlg.FileName); } MessageBox.Show("Bitte Starten sie den Klienten erneut um die neue Skin zu laden!"); } } } |
So nun seht ihr selbst; das Programm funkiooniert, aber wie bekome ich diese Statischen Variablen und Funktionen weg? ...schon klar ich muss mir ein objekt der Hauptklasse erzeugen, aber wie mache ich das von der Hauptapplication?
....bitte bitte ein paar Tipps an ein neuling ....
danke vorab Augenzwinkern