System.Windows.RoutedEventArgs
(1)
RoutedEventArgs
(1)
UGIdotNET
(1)
TextBox
(1)
WPF
(1)
VB
(1)
Window1.Textbox
(1)
Form1.Textbox
(1)

WPF - come passare variabili fra Window?

Asked By ing. ignazio pinto
03-Nov-09 07:30 AM
Salve a tutti,
Ho il seguente problema:

Ho due form (in WPF due Window) che chiamo rispettivamente Form1 e Form2.
Nel Form1 ho una textbox che chiamo Textbox_1.

Entrambe i form sono aperti.
Faccio un operazione sul Form2 e ricavo un valore, ad esempio una stringa
che voglio passare alla textbox sul Form1.

In Windows Form bastava richiamare dal Form2 il Form1 e mi venivano esposti
tutti i controlli in esso contenuti,
quindi per accedere alla propriet? Text della textbox mi bastava utilizzare
il codice seguente nel Form2:

My.Forms.Form1.Textbox_1.Text= "stringa"

In WPF invece non mi vengono esposti i controlli contenuti nel Form1, ma
solo le propriet? della Window.
Come posso fare per ottenere lo stesso risultato?

Spero di essere stato abbastanza chiaro.

Grazie

Ignazio Pinto

ing.

Corrado Cavalli [MVP] replied to ing. ignazio pinto
03-Nov-09 11:15 AM
ing. ignazio pinto submitted this idea :

x:Name="btnOk" />

--
Corrado Cavalli [Microsoft .NET MVP-MCP]
UGIdotNET - http://www.ugidotnet.org
Weblog: http://blogs.ugidotnet.org/corrado/

Scusa ma non ho capito.Ho provato a settare il mio textbox con la propriet?

ing. ignazio pinto replied to Corrado Cavalli [MVP]
03-Nov-09 11:52 AM
Scusa ma non ho capito.
Ho provato a settare il mio textbox con la propriet? FieldModifier nel
seguente modo sul Form1:


Ma se vado nel Form2, dal lato codice Vb e scrivo:

Form1.Textbox_1.Text

non funziona poich? il textbox continuo a non vederlo.
Per spiegarmi meglio, ho un form wpf che ? il seguente, nel quale compare
solo una textbox:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">

ed un secondo form WPF nel quale c'? un pulsante

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300">

voglio fare in modo che premendo il pulsante si valorizzi la textbox su
Window1, quindi
nel code behind  di quest'ultimo scrivo:

Partial Public Class Window2

Private Sub btnOk_Click(ByVal sender As Object, ByVal e As
System.Windows.RoutedEventArgs) Handles btnOk.Click
'qui vorrei valorizzare il textbox_1 in win form avrei scritto:
Window1.Textbox_1.Text="Pippo" ma in WPF anche con l'attributo
'x:FieldModifier="public"  da qui non vedo il TextBox_1 appartenente
a Window1

End Sub
End Class

Grazie

ing.

Corrado Cavalli [MVP] replied to ing. ignazio pinto
03-Nov-09 12:50 PM
ing. ignazio pinto formulated the question :

Ignazio,
Fortunatamente quell'orrore di default instance grazie al quale in VB ?
possibile scrivere cose tipo [NomeForm].NomePropriet?=x non ?
supportata in WPF, quindi se vuoi accede da Window2 agli elementi di
Grazie tante,ho seguito il suggerimento e funziona benissimo...
ing. ignazio pinto replied to Corrado Cavalli [MVP]
04-Nov-09 09:45 AM
Grazie tante,
ho seguito il suggerimento e funziona benissimo...
Post Question To EggHeadCafe