none
Obtener el Tag de un TextBlock dentro de un ItemTemplate. RRS feed

  • Pregunta

  • Hola, tengo un problema lo que pasa es que quiero obtener el tag de este control el cual viene de un WCF, osea quiero que cuando salte el evento SelectionChanged me obtenga ese valor de tag , el objetivo en si es saber cual es el codigo de ese elemento - (WP8 ; C#), Gracias. 

    Long


    lunes, 18 de agosto de 2014 16:02

Respuestas

  • Hola Christopher, a ver si esto te llega a funcionar:

    Crea esta extensión que permita buscar elementos en los hijos de un control en particular.

    private childItem FindVisualChild<childItem>(DependencyObject obj)
        where childItem : DependencyObject
    {
        for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
        {
            DependencyObject child = VisualTreeHelper.GetChild(obj, i);
            if (child != null && child is childItem)
                return (childItem)child;
            else
            {
                childItem childOfChild = FindVisualChild<childItem>(child);
                if (childOfChild != null)
                    return childOfChild;
            }
        }
        return null;
    }

    Ahora busca el control en cuestión:

    ListPickerItem myItem = (ListPickerItem )(lPickerCategoria.ItemContainerGenerator.ContainerFromIndex(lPickerCategoria.SelectedIndex));
    ContentPresenter myContentPresenter = FindVisualChild<ContentPresenter>(myItem);
    DataTemplate myDataTemplate = myContentPresenter.ContentTemplate;
    TextBox target = (TextBox)myDataTemplate.FindName("yourTextBoxName", myContentPresenter);
    if (target.Tag != null)
    {
        string value = target.Tag.ToString();
    }
    Saludos


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

    jueves, 28 de agosto de 2014 14:33