Announcement

Collapse
No announcement yet.

Werte im Wpf Fenster weitergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Werte im Wpf Fenster weitergeben

    Hallo Leute,
    ich steh hier vor einem kleinen Problem. Ich öffne ein Fenster f1 und übergebe beim Schließen den Wert projekt an Fenster f2 über eine Methode ProjSel.
    Jetzt will ich auch noch von f2 den Wert schema an f3 übergeben, dies mach ich über die Methode SchemaSel.

    Obwohl beide Methoden gleich aufgebaut sind kann ich in f3 den Wert schema nicht anzeigen lassen (projekt lässt sich übrigens wieder verwenden).

    Die einzigen Unterschied sind:
    a) zwischen ProjSel und SchemaSel: ProjSel nimmt einen static Wert an während SchemaSel einen public Wert verwendet. Beim Versuch SchemaSel auch auf static zu setzen kommt die Fehlermeldung: "is inaccessible due to its protection level".
    b) f1 wird geschlossen wenn sich f2 öffnet. Wenn f3 geöffnet wird bleibt f2 offen.

    Jezt hab ich 2 Fragen:
    1. Kommt der Fehler dadurch, dass das Projekt nur einmal gesetzt werden kann (da sich danach das Fenster schließt), während Schema jederzeit über einen Button verändert werden kann oder womit hängt das zusammen?
    2. Wie kann ich diesen Fehler beheben?

    Code:
     static string projSel;
     public string schemaSel;
    
    public string ProjSel{ 
                get { return projSel; } 
                set{ projSel = value; } 
            }
    public string SchemaSel{
                get{ return schemaSel; }
                set{ schemaSel = value; }
            }
    Danke schon mal im Vorraus für eure Hilfe!

  • #2
    Du versuchst scheinbar über die Klasse an die Daten zu kommen oder zumindest über die falsche Instanz. Wenn projSel statisch ist ist sie für alle Instanzen gleich (es gibt projSel nur ein mal egal wie oft du diesen Dialog geöffnest hast schemaSel hat aber jede Instanz dieser Klasse eine eigene). Deine f1, f2, f3 Dialoge müßen sich gegenseitig kennen um sich Daten gegenseitig auszutauschen es reicht nicht die Klasse zu haben und sich da wo man an die Property möchte sich eine neue Instanz zu erzeugen man muß schon die nehmen die auch tatsächlich verwendet wird.

    Heißt wenn f1 etwas an f2 geben möchte dann braucht f1 eine Referenz auf die konkrete f2 Instanz. Für genaueres brauchen wir aber mehr Details. Insbesondere wie die Formen erzeugt, angezeigt und verwaltet werden.

    Comment


    • #3
      Das heißt ich muss die Werte doch über Referenzen manchen
      Danke für die Antwort.

      Comment

      Working...
      X