C# 从ListView获取值
使用下面的XAML,如何根据listview当前选定的项检索嵌套在stackpanel中的let’s say或任何其他控件的值?在C中 XAMLC# 从ListView获取值,c#,wpf,xaml,data-binding,C#,Wpf,Xaml,Data Binding,使用下面的XAML,如何根据listview当前选定的项检索嵌套在stackpanel中的let’s say或任何其他控件的值?在C中 XAML 我不完全理解,但我想你的意思是用户可以在列表框中选择一个文本块,你想取这个文本块的值。如果是这样,您可以简单地执行以下操作: string sel = Listview1.SelectedItem.Text; string value = null; foreach ( con in Stackpanel.Controls) { if
我不完全理解,但我想你的意思是用户可以在列表框中选择一个文本块,你想取这个文本块的值。如果是这样,您可以简单地执行以下操作:
string sel = Listview1.SelectedItem.Text;
string value = null;
foreach ( con in Stackpanel.Controls) {
if ((con) is Textblock) {
if (con.Name == sel) {
value = ((con)Textblock).Text;
break;
}
}
}
如果您使用的是MVVM方法,那么ListView的ItemsSource将绑定到ViewModel上的属性。要从列表框的SelectedItem访问值,请将SelectedItem绑定到视图模型上的另一个成员。比如: 代码:
string sel = Listview1.SelectedItem.Text;
string value = null;
foreach ( con in Stackpanel.Controls) {
if ((con) is Textblock) {
if (con.Name == sel) {
value = ((con)Textblock).Text;
break;
}
}
}
public class ViewModel
{
public ObservableCollection<MyListViewItem> Items {get;set;}
public MyListViewItem SelectedListItem {get;set;}
}
<ListView DataContext="{Binding Path=myViewModel}"
ItemsSource="{Binding Path=Items}"
SelectedItem="{Binding Path=SelectedListItem}" />
<TextBlock Text="{Binding ElementName=ItemListView, Path=SelectedItem.SenderName}"/>