在 WP 8.1 中的代码后面创建列表视图
Create listview on code behind in WP 8.1
我是 Windows phone 8.1 应用程序开发的新手。我想做的是创建一个带有文本块和按钮的列表视图,该列表视图完全来自 c# 中的代码隐藏。我从 SQLite 数据库中提取数据,该数据库映射到 class 到可观察的集合。我希望将列表视图绑定到此集合,并且列表视图内的文本块应绑定到绑定到列表视图的可观察集合内的属性之一。到目前为止,这是我通过拼接来自互联网的代码片段所达到的目标。它没有显示任何错误,但不会产生实际结果。
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;
}
请指教。
谢谢大家
至少绑定是错误的。您必须创建一个绑定对象。
这行不通:
tbDate.Text = "{绑定日期}";
你可以在这里看到一个很好的例子:
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;
我是 Windows phone 8.1 应用程序开发的新手。我想做的是创建一个带有文本块和按钮的列表视图,该列表视图完全来自 c# 中的代码隐藏。我从 SQLite 数据库中提取数据,该数据库映射到 class 到可观察的集合。我希望将列表视图绑定到此集合,并且列表视图内的文本块应绑定到绑定到列表视图的可观察集合内的属性之一。到目前为止,这是我通过拼接来自互联网的代码片段所达到的目标。它没有显示任何错误,但不会产生实际结果。
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;
}
请指教。 谢谢大家
至少绑定是错误的。您必须创建一个绑定对象。
这行不通: tbDate.Text = "{绑定日期}";
你可以在这里看到一个很好的例子: 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;