none
Recuperar as informações de um textBlock dentro de um DataTemplate RRS feed

  • Pergunta

  • Olá gente, eu tenho um problema assim:

    Tenho um app de um restaurante universitário que busca as informações no XML e mostra na tela. A tela .XAML onde aparecem as informações é assim: 

    <ListBox Name="Lista" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" SelectionChanged="Lista1_SelectionChanged_2">
                            <ListBox.ItemTemplate>
                                <DataTemplate>
                                    <StackPanel Name="Info" Orientation="Vertical">
                                        <TextBlock x:Name="comida" Text="{Binding Item}" FontSize="28" Foreground="White" TextWrapping="Wrap" VerticalAlignment="Center"/>
                                    </StackPanel>
                                </DataTemplate>
                            </ListBox.ItemTemplate>
                        </ListBox>

    Eu gostaria de implementar uma funcionalidade no app para compartilhar a refeição do dia, por SMS ou outra forma, usando aquele ShareStatusTask.

    Porém eu não consigo pegar a informação que tá no textblock "comida" para passar para compartilhar. Se eu tirar o DataTemplate, ele fica visível para o método, contudo o app dá uma exceção e fecha sozinho sem ele.

    Tentei fazer assim com a ajuda de um amigo meu:

    private void OnClickEnviarSMS(object sender, GestureEventArgs e)
     {
                Share.Compartilhar("" + comida.Text));
                
     }

    e na classe Share:

     public static void Compartilhar(string comida)
            {
                ShareStatusTask shareStatusTask = new ShareStatusTask();
                shareStatusTask.Status = comida.ToString() + " #Cardápio R.U";
                shareStatusTask.Show();
            }

    Contudo, ele não reconhece o "comida". Existe algo que eu possa fazer para conseguir compartilhar essas informações das refeições? Outra forma de fazer...

    Obrigado. :)

    terça-feira, 26 de maio de 2015 03:22

Todas as Respostas

  • Opa, tudo bom Robledo?

    Como você está atribuindo o valor do nó Comida para a variável comida que você passa para o método compartilhar? 

    Att,

    terça-feira, 26 de maio de 2015 13:06
  • Opa, tudo ótimo!

    Valor do nó Comida? Não entendi. :/

    Att,

    Robledo

    sexta-feira, 12 de junho de 2015 03:36
  • Você pode usar binding para setar a propriedade do teu textbox usando uma viewModel, assim quando você precisar da string "comida" é só acessar a viewModel e recuperar o valor.

    Segue abaixo um pequeno exemplo

    XAML:

    <Datatemplate>
                    <TextBox Text="{Binding MinhaPropriedadeNaViewModel}"/>
                </Datatemplate>

    ViewModel

    public class MinhaViewModel
            {
                public string MinhaPropriedadeNaViewModel { get; set; }
            }

    Att



    sexta-feira, 12 de junho de 2015 11:19
  • Opa tudo bom?

    Cara, tava pirando com XML ali, nada a ver meu comentário...

    A solução do Bruno resolveu seu problema? Acredito que a dele seja a reposta para o problema, marca lá se tiver dado certo!

    Aquele abraço,

    segunda-feira, 15 de junho de 2015 17:10