我是Windows phone 8.1 app开发的新手。我要做的是创建一个带有文本块的列表视图和一个完全来自c#后面的代码的按钮。我将数据从SQLite数据库中提取出来,该数据库被映射到一个可观察集合的类。我希望listview绑定到此集合,listview中的textblock应该绑定到可绑定到listview的observable集合中的一个属性。这是我到目前为止所达到的地方,通过拼接来自互联网的代码。它没有显示任何错误,但它不会产生实际结果。
private void LoadListView()
{
ListView lvSchedule = new ListView();
TextBlock tbDate = new TextBlock();
tbDate.FontSize = 50;
//tbDate.HorizontalAlignment = "Left";
tbDate.Foreground = (SolidColorBrush)Application.Current.Resources["PhoneAccentBrush"];
Binding bind = new Binding();
// bind.Path
tbDate.Text = "{Binding Date}";
lvSchedule.Items.Add(tbDate);
lvSchedule.ItemsSource = theSchedulesOC;
firstPivotItem.Content = lvSchedule;
}
请指教。 谢谢大家。
答案 0 :(得分:0)
至少绑定是错误的。您必须创建一个Binding对象。
这不起作用: tbDate.Text =“{Binding Date}”;
你可以在这里看到一个很好的例子: How to: Create a Binding in Code 您的问题是您需要从后面的代码创建一个DataTemplate。
如果你像这样在XAML中做所有事情会更好:
<ListBox name="lvSchedule">
<ListBox.ItemTemplate>
<DataTemplate >
<TextBlock Text="{Binding Date}" >
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
然后在你背后的代码中你就这样做了:
lvSchedule.ItemsSource = theSchedulesOC;