Inquiridor
Recuperar as informações de um textBlock dentro de um DataTemplate

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. :)
Todas as Respostas
-
-
-
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
- Editado Bruno Maschio Joaquim sexta-feira, 12 de junho de 2015 11:22
- Sugerido como Resposta Samuel Pelaquim sexta-feira, 12 de junho de 2015 12:22
-