none
Modificar y acceder a las propiedades de un datatemplate destinado para un data grid details RRS feed

  • Pregunta

  • Buenas noche hoy nesecito algo de ayuda para que me orienten con esta parte veran estoy tratando de acceder a un textbox que esta dentro de un datatemplate que para crear el campo row datails que sale cuando uno hace click en un item, ahora este details tiene un textbox para hacer una modificaciones pero intentaba que esa modificacion funcionara con un botom para actualizar la base de datos. He buscado en internet y he visto muchos codigos pero en referencia al listbox y algunos de data grid pero no logro hacerlo funcionar estoy usando C# soy algo novato aun en este codigo les dejo el ejemplo del datatemplate para ver si me puede ayudar.

    Codigo XMAL del Template

    <DataTemplate x:Key="EJE_G">
                <TextBox FontSize="16" FontFamily="Arial" Name="G_NAME" Text="{Binding NOMBRE2}" VerticalAlignment="Center" FontWeight="Bold" Height="30" Width="220" Margin="0,0,0,2" IsReadOnly="False"  IsEnabled="True" >
                    <TextBox.Effect>
                        <DropShadowEffect BlurRadius="6" Color="Black" Direction="190" ShadowDepth="2.5"/>
                    </TextBox.Effect>
                </TextBox> 
            </DataTemplate>
    Se que es posible acceder ha estos objetos atravez de un metodo de busqueda de viewtree creo que era el codigo ha usar que esta publicado no solo en MSDN si no en muchos otros foros, el problema es que me arrojar error el codigo y la verdad es que no entendi parte de como se ejecuta y que parametros tengo que para al codigo de busqueda, por favor en serio nesecito ayuda con ese codigo.


    • Editado nobunagaii miércoles, 27 de agosto de 2014 21:34 Mas detalle
    miércoles, 27 de agosto de 2014 1:36

Todas las respuestas

  • Buenas... si lo que quieres es Actualizar la BD con los datos del Textbox de ese DataTemplate, no es necesario acceder al mismo ya que en el XAML que publicas se ve que estas usando "Binding", aqui:

     Text="{Binding NOMBRE2}" 

    Supongo que NOMBRE2 es una propiedad de alguna "entidad", así que lo único que tienes que hacer es utilizar esa entidad y no directamente el TextBox.

    Creo que solo faltaría agregar algo al Binding:

     Text="{Binding NOMBRE2, UpdateSourceTrigger=PropertyChanged}" 
    Es para que esta propiedad (NOMBRE2) se actualize al modificar el Textbox.

    sábado, 30 de agosto de 2014 11:44
  • Buenas... si lo que quieres es Actualizar la BD con los datos del Textbox de ese DataTemplate, no es necesario acceder al mismo ya que en el XAML que publicas se ve que estas usando "Binding", aqui:

     Text="{Binding NOMBRE2}" 

    Supongo que NOMBRE2 es una propiedad de alguna "entidad", así que lo único que tienes que hacer es utilizar esa entidad y no directamente el TextBox.

    Creo que solo faltaría agregar algo al Binding:

     Text="{Binding NOMBRE2, UpdateSourceTrigger=PropertyChanged}" 
    Es para que esta propiedad (NOMBRE2) se actualize al modificar el Textbox.

    No es necesario colocar la propiedad UpdateSourceTrigger=PropertyChanged debido a que es el valor por defecto de dicha propiedad en todo caso lo que estar'ia faltando es la propiedad Mode.

    Text="{Binding NOMBRE2, Mode=TwoWay}"

    Saludos.


    Christian Amado | Software Engineer | MCPD: Windows Phone Developer | MCTS: Silverlight Developer


    sábado, 30 de agosto de 2014 13:22