2016-01-19 1 views
0

У меня возникают проблемы в воздействии на TextBlock «TxtChoisie» Контент (Nom/Категория) из ListViewItem в универсальном приложении, это мой код:отправить содержимое ListViewItem к TextBlock

XAML код :

<TextBlock Foreground="#575855" FontSize="18 " x:Name="TxtChoisie" /> 
    <ListView x:Name="listme" IsItemClickEnabled="True" SelectionMode="Single" ItemClick="listme_ItemClick"> 
              <ListViewItem> 
              <TextBlock Text="Nom" HorizontalAlignment="Center" Margin="0" Foreground="#727271" /> 
              </ListViewItem> 
              <ListViewItem> 
               <TextBlock Text="Categorie" HorizontalAlignment="Center" Margin="0" Foreground="#727271" /> 
              </ListViewItem> 
             </ListView> 

код позади:

private void listme_ItemClick(object sender, ItemClickEventArgs e) 
     { 
      var myClickedItem = e.ClickedItem.ToString(); ; 
      TxtChoisie.Text = myClickedItem; 
     } 

что я получаю в моем TextBlock не содержание (например, Категории или Nom) спасибо за помощь

-
+0

Что вы получаете в вашем TextBlock? – ChrisF

+0

Я получаю эту строку сэра «Windows.UI.Xaml.Controls.TextBlock» – hanali

+0

, когда я отлаживаю переменную ClickedItem имеет свойство Text, которое содержит выбранный текст элемента:/ – hanali

ответ

1

ClickedItem - это объект. Source

Вам нужно будет преобразовать его в TextBlock, а затем прочитать Text свойство, чтобы получить правильное значение:

var myClickedItem = ((TextBlock)e.ClickedItem).Text; 
TxtChoisie.Text = myClickedItem; 

Вы можете пропустить эту локальную переменную из:

TxtChoisie.Text = ((TextBlock)e.ClickedItem).Text; 

Вы должны также убедитесь, что щелчком элемента является TextBlock перед литьем:

var myClickedItem = e.ClickedItem as TextBlock; 
if (myClickedItem != null) 
{ 
    TxtChoisie.Text = myClickedItem.Text; 
} 

или C# 6 Синтаксис:

TxtChoisie.Text = myClickedItem?.Text; 
+0

спасибо, что сэр работает :) – hanali

Смежные вопросы