Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Roboto en 14 Marzo 2012, 12:42 pm



Título: obtener contenido de un textbox
Publicado por: Roboto en 14 Marzo 2012, 12:42 pm
Os pongo el codigo:


Eso esta dentro de un grid general en el XAML

Código:
 <ContentControl Name="CT"  Content="{Binding ElementName=lst1,Path=SelectedItem}" ContentTemplate="{StaticResource datos2}">


Esto es un datatemplate  donde se rellenan los textbox con la info de una lista k recibe datos de una base de datos
Código:
<DataTemplate x:Key="datos2">
            <Grid >
                <Grid.ColumnDefinitions>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition></ColumnDefinition>
                </Grid.ColumnDefinitions>
               
                <Grid.RowDefinitions>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                    <RowDefinition></RowDefinition>
                   
                </Grid.RowDefinitions>
                <Label HorizontalAlignment="Right" Grid.Row="0" Grid.Column="0" Name="lb1" Content="nombre:" />
                <TextBox Grid.Row="0" Text="{Binding Nom}" Grid.Column="1" Name="txt1" Width="150" Height="20"/>
                <Label HorizontalAlignment="Right"  Grid.Row="1" Grid.Column="0" Name="lb2" Content="Apellidos:" />
                <TextBox Grid.Row="1" Text="{Binding Apellidos}" Grid.Column="1" Name="txt2" Width="150" Height="20"/>
                <Label HorizontalAlignment="Right"  Grid.Row="2" Grid.Column="0" Name="lb3" Content="Empresa:" />
                <TextBox Grid.Row="2"  Text="{Binding Empresa}" Grid.Column="1" Name="txt3" Width="150" Height="20"/>
                <Label HorizontalAlignment="Right"  Grid.Row="3" Grid.Column="0" Name="lb4" Content="Puesto:" />
                <TextBox Grid.Row="3" Text="{Binding Puesto}" Grid.Column="1" Name="txt4" Width="150" Height="20"/>

                <Label HorizontalAlignment="Right"  Grid.Row="4" Grid.Column="0" Name="lb5" Content="Direccion:" />
                <TextBox Grid.Row="4" Text="{Binding Dir}" Grid.Column="1" Name="txt5" Width="150" Height="20"/>

                <Label HorizontalAlignment="Right"  Grid.Row="5" Grid.Column="0" Name="lb6" Content="Poblacion:" />
                <TextBox Grid.Row="5" Text="{Binding Pob}" Grid.Column="1" Name="txt6" Width="150" Height="20"/>

                <Label HorizontalAlignment="Right"  Grid.Row="6" Grid.Column="0" Name="lb7" Content="codigo postal:" />
                <TextBox Grid.Row="6" Text="{Binding Cp}" Grid.Column="1" Name="txt7" Width="150" Height="20"/>

                <Label HorizontalAlignment="Right"  Grid.Row="7" Grid.Column="0" Name="lb8" Content="provincia:" />
                <TextBox Grid.Row="7" Text="{Binding Provincia}" Grid.Column="1" Name="txt8" Width="150" Height="20"/>


            </Grid>
        </DataTemplate>



el problema esk eso esta en XAML y dentro de un datatemplate-contentemplate.
yo quiero k cuando le de a un boton.

coja lo k hay en txt1 y me lo guarde en una variable dentro de c#.
el problema esk al estar en un contentemplate,no me deja acceder al txt1.

mirando por ahi encontre algo parecido,pero k no me funciona

Código:
  String texto;
            texto = ((TextBox)CT.FindResource("txt1")).Text;
            MessageBox.Show(texto);

probe cambiando el findresource por findname,pero nada.

alguno sabria como en la variable texto guardar lo k hay en txt1????


THX de antemano




Título: Re: obtener contenido de un textbox
Publicado por: dont'Exist en 14 Marzo 2012, 15:13 pm
Mmm tan simple como:
Código
  1. texto = text1.text
:huh: ;-)


Título: Re: obtener contenido de un textbox
Publicado por: Roboto en 14 Marzo 2012, 19:31 pm
tu te crees k si fuera asi de facil habria venido aki preguntando eso?????.


Al haber definido el txt1 dentro de un datatemplate del XAML si entro en el codigo interno del C# no puedo acceder a esos items.

si dentro de c# escribo txt1.text ,no reconoce ese item pork no esta definido.
de ahi es donde surge mi pregunta para acceder.


Título: Re: obtener contenido de un textbox
Publicado por: dont'Exist en 15 Marzo 2012, 18:35 pm
tu te crees k si fuera asi de facil habria venido aki preguntando eso?????.


Al haber definido el txt1 dentro de un datatemplate del XAML si entro en el codigo interno del C# no puedo acceder a esos items.

si dentro de c# escribo txt1.text ,no reconoce ese item pork no esta definido.
de ahi es donde surge mi pregunta para acceder.


Jaja, disculpá loco, no había entendido tu dilema.

Mmm, desconozco el uso de datatemplate. Supongo que es algún problema de tipo de variable, asegurate que la variable de en la que querés almacenar el contenido de txt1 sea la misma de datatemplate.

Sin saber, creo que va por ahí el asunto.

Saludos.