我有一个包含此数据模板的ListView:
id
但现在我希望在点击ListViewItem时获得第3个网格中第一个标签中的Rit rit1 = new Rit
{
id = 20,
AantalPassagiers = 5,
Naam = "Jan",
TaxiNummer = 1
};
。
获取ID的最简单方法是什么?
我可以使用绑定将id绑定到其他标签吗? 或者我还需要做其他事情吗?
ObcRitten是一个公开的ObservableCollection,并且填充了Rit Rit的例子
{{1}}
答案 0 :(得分:0)
您可以将SelectedItem
属性转换为Rit
并访问id
属性:
Rit rit = lvRitten.SelectedItem as Rit;
if (rit != null)
var id = rit.id;
您也可以将其直接绑定到TextBlock
,如下所示:
<TextBlock Text="{Binding SelectedItem.id, ElementName=lvRitten}" />
答案 1 :(得分:0)
在ViewModel中创建新属性:
public Rit SelectedRit {get; set;}
然后使用ListView绑定此属性:
<ListView SelectedItem = "{Binding SelectedRit}"..../>
答案 2 :(得分:0)
DataTemplate中的所有元素共享相同的DataContext,即Rit
项。要在不同位置显示id
两次,您需要创建两个标签,并将两者绑定到id
<Grid Grid.Column="1" Grid.Row="1">
<Label Content="{Binding id}" FontSize="10"/>
</Grid>
ListView之外的绑定到ListView.SelectedItem:
<Label Content="{Binding SelectedItem.id, ElementName=lvRitten}" FontSize="10"/>