数据绑定可观察的字符串集合

Pau*_*els 1 c# xaml windows-8 windows-runtime .net-4.5

我有以下课程:

public class MyClass
{
    public ObservableCollection<string> MyList { get; set; }
    public string MyListTitle { get; set; }
...
Run Code Online (Sandbox Code Playgroud)

我将其填充如下:

MyClass myClass = new MyClass("Data"); // Populates title

myClass.MyList.Add("Test data 1");
myClass.MyList.Add("Test data 2");

myListView.DataContext = MyClass.MyList;
Run Code Online (Sandbox Code Playgroud)

最后,这是XAML:

<ListView Visibility="Visible" x:Name="myListView" Height="Auto">
    <ScrollViewer x:Name="contentScrollView">
        <TextBlock x:Name="DataItem" Text="{Binding}" />                                
    </ScrollViewer>
</ListView>
Run Code Online (Sandbox Code Playgroud)

结果(和问题)是我在列表视图中一次显示了类名,而不是上面的两个条目。

Dyl*_*dor 5

首先,您需要设定ItemsSource的属性ListView到您的ObservableCollection

myListView.ItemsSource = myClass.MyList;
Run Code Online (Sandbox Code Playgroud)

另外,您需要使用DataTemplate来显示实际项目:

<ListView.ItemTemplate>
 <DataTemplate>
   <TextBlock x:Name="DataItem" Text="{Binding}" /> 
 </DataTemplate>
</ListView.ItemTemplate>
Run Code Online (Sandbox Code Playgroud)