2015-11-10 7 views
0

J'ai une application wpf qui travaillera minimisé. L'application affichera une seconde fenêtre lorsque le système se réveillera du sommeil. Dans la deuxième fenêtre, il y a une combobox et un bouton. quand je clique sur le bouton, il doit définir la valeur d'une variable dans la fenêtre principale avec la valeur de combobox. Mais le problème est que la variable dans mainwindow n'est pas accessible dans la seconde fenêtre. Comment faire cela ?? J'ai beaucoup cherché en net. Mais incapable de trouver une solution de travail. Aucune suggestion??obtenir des valeurs d'une deuxième fenêtre à la fenêtre principale dans wpf

+0

2 solutions - 1.Pendant la création d'une fenêtre enfant Vous devez connecter un EventHandler dans votre fenêtre principale à un événement d'un formulaire enfant. 2. À propos du modèle de conception d'observateur – MajkeloDev

+0

Vous pouvez utiliser le même ViewModel pour les deux fenêtres .... – Spawn

+0

Essayez EventAggregator. https://msdn.microsoft.com/en-us/library/ff921122.aspx – cscmh99

Répondre

0

Vous pouvez utiliser l'approche de l'événement/délégué pour l'obtenir:

Un extrait de code Pour résumer:

Dans la fenêtre d'abord lors de la création de la seconde ne

Window1 win = new Window1(); 
win.GetEvent += win_GetEvent; 
win.ShowDialog(); 

Et la deuxième fenêtre que vous avez:

public object ValueToGet; 
public delegate object GetValueDelegate(object _value); 
public event GetValueDelegate GetEvent; 
public Window1() 
{ 
     InitializeComponent(); 
     GetEvent.Invoke(ValueToGet); 
} 

Eh bien, je ne sais pas quel est votre spécifique requirment mais juste pour intreduire l'approche