Usuario
Como hago que un popup en la misma Page envie los datos de nombre y fechas

Pregunta
-
Necesito que el TextBoxNameEarn , TextBoxFromEarn y TextBoxToEarn, esas 3 cadenas trabajar con ellas dentro de un mentodo que esta en el Page de este mismo XAML como lo hago? ¿ tengo que enlazar los datos? por ej cada TextBox de esos a una propiedad de mi objeto Page pero no se hacerlo, alguien puede ayudarme, gracias.
<Popup x:Name="SearchPopupEarn" HorizontalOffset="20" VerticalOffset="40" Closed="SearchPopupEarn_Closed" IsOpen="False">
<Border>
<Grid Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="26*"/>
<ColumnDefinition Width="36*"/>
<ColumnDefinition Width="21*"/>
<ColumnDefinition Width="98*"/>
<ColumnDefinition Width="69*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="17*"/>
<RowDefinition Height="18*"/>
<RowDefinition Height="16*"/>
<RowDefinition Height="19*"/>
</Grid.RowDefinitions><TextBlock x:Name="TextBlockNameEarn" Text="By Name: " FontSize="20" Foreground="Black" Margin="3,5,0,0" Grid.ColumnSpan="3"/>
<TextBlock x:Name="TextBlockDateEarn" Text="By Date: " FontSize="20" Foreground="Black" Margin="3,5,0,5" Grid.Row="1" Grid.ColumnSpan="3"/>
<TextBox x:Name="TextBoxNameEarn" Text="{Binding NombreEarn}" Grid.Column="3" TextWrapping="Wrap" FontFamily="AvantGarde Bk BT" BorderBrush="White" Margin="0,0,0,33" Grid.RowSpan="2"/>
<TextBox x:Name="TextBoxFromEarn" Grid.Column="2" Text="{Binding FromEarn}" TextWrapping="Wrap" FontFamily="AvantGarde Bk BT" Grid.Row="2" Grid.ColumnSpan="2" FontSize="18" BorderBrush="White" Margin="0,0,0,5"/>
<TextBlock x:Name="TextBlockFromEarn" Text="From: " FontSize="20" Foreground="Black" Grid.Row="2" Margin="3,5,2,0" Grid.ColumnSpan="2"/>
<TextBlock x:Name="TextBlockToEarn" Text="To: " FontSize="20" Foreground="Black" Grid.Row="3" Margin="3,5,1,10"/>
<TextBox x:Name="TextBoxToEarn" Text="{Binding ToEarn}" Grid.Column="2" TextWrapping="Wrap" FontFamily="AvantGarde Bk BT" Grid.Row="3" Grid.ColumnSpan="2" FontSize="18" Margin="0,0,0,3"/></Grid>
</Border>
</Popup>
Todas las respuestas
-
Hola Onzulin,
Veo que ya estás haciendo un "data binding" de la propiedad Text de los TextBox. Entonces tienes 2 opciones:
- Acceder el variable en el DataContext de la página. (Siguiendo el modelo MVVM, la variable estaría en el ViewModel)
- Si quieres acceder los valores desde el código "detrás" del XAML, puedes usar el nombre de los TextBox. Por ejemplo
TextBoxNameEarn.Text
Espero que te ayude.
Un saludo
Helge Mahrt - Microsoft Developer Support Engineer - If my reply answers your question, please mark this post as answered.
-
Muy buenas donde hay informacion sobre el modelo MVVM para aprenderlo que veo que es muy interesante.
Ese es el caso que no me dejaba acceder a las propiedades de esa manera con TextBoxNameEarn.Text, el caso es que al final he hecho otra solucion algo parecido pero con un grid simplemente ty listo y pintalo en blanco pàra hacer lo mismo, gracias.
-
Hola,
Me alegro oír que hayas podido resolver el problema.
Buscando por MVVM ("Model-View-ViewModel" o "Modelo-Vista-VistaModelo") debería encontrar muchísima información. Aquí un par de enlaces relacionados:
- La documentación oficial: http://msdn.microsoft.com/es-es/library/windows/apps/jj160324.aspx
- Un video sobre MVVM para Windows Phone 8 (funciona igual que en la apps de Windows Store), con mi compañero Alejandro Campos Magencio: http://www.desarrolloweb.com/en-directo/modelo-mvvm-windows-phone8-7962.html
- Usando el patrón MVVM se puede compartir un porcentaje de código muy alto entre Windows Phone 7/8 y las apps de Windows Store. Por es te recomendaría también ese articulo. http://alejandrocamposmagencio.com/2013/01/11/windows-8-windows-phone-8-y-windows-phone-7-son-primos-o-hermanos/
Espero que te sea útil.
Un saludo
Helge Mahrt - Microsoft Developer Support Engineer - If my reply answers your question, please mark this post as answered.