当我选择一个列表框项目时,我希望将该数据传递给另一个文本块。
我设置它的方式: 在我的listbox.itemtemplate里面,我在stackpanel里面有两个文本块。 列表框中的文本是从类中限定的。
问题: 由于文本块在listbox.item中,我无法调用mainpage.cs中的文本块,而我可以在网格中的文本块中调用数据。
如何从列表框项目内的文本块中获取文本以传递到另一个文本块或标签。
答案 0 :(得分:1)
我这样做的方式通常是我对列表控件上的TwoWay
属性进行SelectedItem
绑定,并在视图模型上使用类似命名的属性,一旦我有了 - 我选择的项目视图可以绑定到视图模型。当然,您可以直接从选定的项目视图绑定到列表控件的SelectedItem
,并使用ElementName
绑定进一步绑定到项目属性的属性,但是错过了分离点顾虑。
脏方法的示例:
<ListView
x:Name="lv">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Property1}" />
<TextBlock Text="{Binding Property2}" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView
<Grid
x:Name="SelectedItemView">
<TextBlock Text="{Binding SelectedItem.Property1, ElementName='lv'}" />
</Grid>