C# 数据绑定可观察的字符串集合
我有以下课程:C# 数据绑定可观察的字符串集合,c#,xaml,windows-8,windows-runtime,.net-4.5,C#,Xaml,Windows 8,Windows Runtime,.net 4.5,我有以下课程: public class MyClass { public ObservableCollection<string> MyList { get; set; } public string MyListTitle { get; set; } ... 最后,这里是XAML: <ListView Visibility="Visible" x:Name="myListView" Height="Auto"> <ScrollViewe
public class MyClass
{
public ObservableCollection<string> MyList { get; set; }
public string MyListTitle { get; set; }
...
最后,这里是XAML:
<ListView Visibility="Visible" x:Name="myListView" Height="Auto">
<ScrollViewer x:Name="contentScrollView">
<TextBlock x:Name="DataItem" Text="{Binding}" />
</ScrollViewer>
</ListView>
结果(也是问题)是,我在listview中只显示了一次类名,而不是上面的两个条目。您正在绑定TextBlock,这就是您收到列表的.ToString()的原因。您需要绑定的是列表的文本块,这样ListView会将其项目与列表中的项目绑定。您正在绑定文本块,这就是您收到列表的.ToString()的原因。您需要绑定的是列表的名称,这样ListView就可以将其项目与列表中的项目绑定起来。可能是这一个
myListView.DataContext = MyClass.MyList;
将成为
myListView.DataContext = myClass.MyList; //note the case of myClass
可能是这个
myListView.DataContext = MyClass.MyList;
将成为
myListView.DataContext = myClass.MyList; //note the case of myClass
首先需要将
ListView
的ItemsSource
属性设置为您的observedcollection
myListView.ItemsSource = myClass.MyList;
此外,您还需要使用来显示实际项目:
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="DataItem" Text="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
您首先需要将
列表视图
的项目资源
属性设置为您的可观察集合
myListView.ItemsSource = myClass.MyList;
此外,您还需要使用来显示实际项目:
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="DataItem" Text="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
应该是
<ListView x:Name="myListView" Height="Auto" ItemsSource="{Binding MyList}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="DataItem" Text="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
及
MyClass MyClass=新的MyClass();
myClass.MyList=新的ObservableCollection();
myClass.MyList.Add(“测试数据1”);
myClass.MyList.Add(“测试数据2”);
this.DataContext=myClass;
及
公共类MyClass
{
公共ObservableCollection MyList{get;set;}
公共字符串MyListTitle{get;set;}
公共MyClass()
{
}
}
结果
应该是
<ListView x:Name="myListView" Height="Auto" ItemsSource="{Binding MyList}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock x:Name="DataItem" Text="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
及
MyClass MyClass=新的MyClass();
myClass.MyList=新的ObservableCollection();
myClass.MyList.Add(“测试数据1”);
myClass.MyList.Add(“测试数据2”);
this.DataContext=myClass;
及
公共类MyClass
{
公共ObservableCollection MyList{get;set;}
公共字符串MyListTitle{get;set;}
公共MyClass()
{
}
}
结果
所以你只得到
测试数据1
否-我得到MyClass的类名(一次),所以你只得到测试数据1
否-我得到MyClass的类名(一次)