将 ListviewItem 的内容发送到 TextBlock
send the content of a ListviewItem to a TextBlock
我在影响 TextBlock "TxtChoisie" 通用应用程序中 ListViewItem 的内容 (Nom/Categorie) 时遇到问题,这是我的代码:
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 中得到的不是内容(如类别或名称)
感谢帮助
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;
我在影响 TextBlock "TxtChoisie" 通用应用程序中 ListViewItem 的内容 (Nom/Categorie) 时遇到问题,这是我的代码:
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 中得到的不是内容(如类别或名称) 感谢帮助
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;