Autor Beitrag
Darth-Maddin
Hält's aus hier
Beiträge: 4

XP
C# (VS 2008)
BeitragVerfasst: Fr 18.09.09 23:36 
Ziel: Aus einer Methode(andere Klasse und ggf. anderer Namespace) heraus, dass Window(WPF) bearbeiten.
Sprich nicht in dem Code behind-Window eine Textbox füllen sondern im Code-behind MAIN o. else die Textbox bzw. das Window ansteuern und füllen.

ein bisschen gequelltes:
ausblenden volle Höhe C#-Quelltext
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:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace BLCMDB_FINAL
{
    /// <summary>
    /// Interaktionslogik für Haupt_Window.xaml
    /// </summary>
    public partial class Haupt_Window : Window
    {
        public Haupt_Window()
        {
            InitializeComponent();
        }

        private void winver_Click(object sender, RoutedEventArgs e)
        {
            string sys_root = Environment.GetEnvironmentVariable("systemroot");
            Process.Start(@"winver" );           
        }

        private void sysdm_Click(object sender, RoutedEventArgs e)
        {
            string sys_root = Environment.GetEnvironmentVariable("systemroot");
            Process.Start(sys_root + @"\system32\sysdm.cpl");            
        }

//BAUSTELLE!!!!!!!!!!!!!!!!!
        private void button_START_Click(object sender, RoutedEventArgs e)
        {        
        Hauptprogramm.Programm();  // Möglichkeit by Reference die Window(WPF) Ansteuerung mit zu übergeben.? GetWindow O.o?
        }

        private void button_CLS_Click(object sender, RoutedEventArgs e)
        {
            /*  das ist Ziel auszulagerne 
             *  und ebenfalls  Windowsteuerung wie "button.enable = false" etc. etc.
             */

            textBox1.Clear(); 
            textBox1.Text = "eine XML-Datensammlung von einer länge die nix im Code-behind Window verloren hat"
        }
//BAUSTELLE!!!!!!!!!!!!!!!!!
    }
}


und der Kram soll in form von methoden nach da ->

ausblenden volle Höhe C#-Quelltext
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:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using System.Runtime.InteropServices;
using ClassLibrary;
using Config_IO;

namespace BLCMDB_FINAL
{
    public partial class App : Application
    {          
    }

    public class Hauptprogramm
    {
        private static Array str_ARRAY;
        //private static Window CURRENT_WINDOW = Haupt_Window.GetWindow();
        //###############################################################
        //######## MAIN
        //###############################################################        
        public static void Programm()
        {   
            c_Variable.set_str_XML_Path(@"BLCMDB.xml"); //Pfad für die XML Datei  
            IO_XML handle_XML = new IO_XML();
//da will ich hin
            Window_1.textBox_3.Text = " ZIEL ";

            //Header();
            //handle_XML.XML_cfg_einlesen();
            //handle_XML.XML_Session();
            //handle_XML.XML_test_lesen();
            //handle_XML.XML_cfg_schreiben();    //cfg XML zurückschreiben         
            //Console.ReadKey(false); <- wie man unschwer erkennen kann stammt das Progi von der console -.-
            ////###############################################################
            ////MAIN ENDE 
            ////###############################################################

        }
    }
}


und das kostet mich jetzt schon 2 Mäuse und ein Termin beim Tierschutzverband :)

Danke für eure hilfe im Voraus *wahrscheinlich hab ich eh was grundlegendes an WPF nicht ganz verstanden

MfG
der Azubi vor dem Herrn -.-'
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 19.09.09 00:29 
:welcome:

Erst einmal: In die App.cs würde ich das nicht stecken, nimm lieber eine ganz neue cs-Datei.
Es geht anscheinend ums Auslagern von Code, aber das bedeutet eigentlich, GUI-unabhängige Bestandteile zu extrahieren. Wenn Code das Window manipulieren will, gehört er auch in die Window-Klasse, Punkt ;) . Du darfst nicht das Window-Objekt selbst übergeben, sondern höchstens die Werte einzelner Properties, und den Rückgabewert dann wieder deinen Controls zuweisen.
Der XML-Code gehört übrigens gar nicht in den Code, sondern - in eine separate XML-Datei ;) .

Und bittebitte keine Unterstriche in C#. Falls die natürlich von der Firma stammen... äh, kannst du noch wechseln :mrgreen: ?

_________________
>λ=
Darth-Maddin Threadstarter
Hält's aus hier
Beiträge: 4

XP
C# (VS 2008)
BeitragVerfasst: Sa 19.09.09 01:55 
Wenn ich, dass halbwegs verstanden habe heißt das also für jedes Control Object ein get/set zu basteln :bawling: und alles andere auslagern.
Jetzt mal ne ganz blöde Frage warum keine Unterstriche in c# :?: :oops:
Was den XML Tip angeht, das hab ich schon im Blick ich mach ein Profikurs für XML Einsteiger *gg*

danke für deine Hilfe :) *vorallem um die uhrzeit*

_________________
Reallife.Dispose()
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Sa 19.09.09 09:09 
user profile iconDarth-Maddin hat folgendes geschrieben Zum zitierten Posting springen:

Jetzt mal ne ganz blöde Frage warum keine Unterstriche in c# :?: :oops:


OT:
Na ja, ich würde das nicht ganz so eng sehen. Selbst die Trainer von MS machen das z.T. ist mir aktuell in einem neuen Webcast von Golo Roden aufgefallen.

_________________
Gruß
Christoph
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 19.09.09 12:01 
user profile iconDarth-Maddin hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich, dass halbwegs verstanden habe heißt das also für jedes Control Object ein get/set zu basteln :bawling:
Muss nicht sein. Dafür solltest du am besten mal ein reales Beispiel zeigen, also etwas komplizierter als "Window_1.textBox_3.Text = " ZIEL "; auslagern" ;) .


user profile iconDarth-Maddin hat folgendes geschrieben Zum zitierten Posting springen:
Jetzt mal ne ganz blöde Frage warum keine Unterstriche in c# :?: :oops:
Die waren schon immer ästhetisch bäh :P , aber bei .NET sind sie sogar hochoffiziell bäh:
msdn.microsoft.com/e...ibrary/ms229045.aspx hat folgendes geschrieben:
Do not use underscores, hyphens, or any other nonalphanumeric characters.


user profile iconDarth-Maddin hat folgendes geschrieben Zum zitierten Posting springen:
danke für deine Hilfe :) *vorallem um die uhrzeit*
^^

user profile iconChristoph1972 hat folgendes geschrieben Zum zitierten Posting springen:
Na ja, ich würde das nicht ganz so eng sehen. Selbst die Trainer von MS machen das z.T. ist mir aktuell in einem neuen Webcast von Golo Roden aufgefallen.
Einen Kommentar zu Golo Roden verkneife ich mir mal... Ganz allgemein würde ich Autorität nur überm großen See suchen, mit inländischen Entwicklern ist das so ne Sache.

_________________
>λ=
Darth-Maddin Threadstarter
Hält's aus hier
Beiträge: 4

XP
C# (VS 2008)
BeitragVerfasst: Mo 21.09.09 20:12 
So
alles hübsch getrennt, aber wie kann ich jetzt was in das textfeld schreiben=?

Ich mein jetzt nicht einfach so txtbox.appendtext oder so sonder aus der App.xaml.cs in das Window.xaml.cs
wenn ihr versteht was ich mein... aus einer andern Klasse in das Aktive Window.

das kann ja meinetwegen auch über das Window selbst in die Box gepack werden aber wie sag ich dem Window das es das tun soll Oo?

Mfg
Maddin

Ps soory das ich mich so doof anstelle

_________________
Reallife.Dispose()
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 21.09.09 21:31 
user profile iconDarth-Maddin hat folgendes geschrieben Zum zitierten Posting springen:
Ich mein jetzt nicht einfach so txtbox.appendtext oder so sonder aus der App.xaml.cs in das Window.xaml.cs
wenn ihr versteht was ich mein...
Nein ;) . Zum TextBox-Befüllen reicht der Rückgabewert, für Komplizierteres müsstest du mal ein Beispiel bringen.

_________________
>λ=