2015-03-28 4 views
0

Я новичок в разработке приложений для Windows Phone 8.1. То, что я пытаюсь сделать, это создать список с текстовым блоком и кнопкой полностью из кода, расположенного в C#. У меня есть данные, полученные из базы данных SQLite, которая сопоставляется классу с наблюдаемой коллекцией. Я хочу, чтобы listview привязывался к этой коллекции, а текстовый блок внутри списка должен быть привязан к одному из свойств внутри наблюдаемой коллекции, привязанному к списку. Это то, к чему я дошел до сих пор, прошивая кусочки кода из Интернета. Он не показывает никаких ошибок, но не приводит к фактическому результату.Создать список на код в WP 8.1

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

По крайней мере, переписка неверна. Вы должны создать объект 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; 
+0

О порядке. Я проверил ссылку, но я смущен, как бы привязать текстовый блок к одному из полей в наблюдаемой коллекции. – Sumchans

+0

Вам нужно будет создать объект DataTemplate и назначить его в ListBox.ItemTemplate. Однако, боюсь, вы не можете создавать шаблоны из кода, а из XAML. – CCamilo

+0

О, это. Я не знал, что мы не можем создавать datatemplates в коде. Затем переходим на xaml. Спасибо CCamilo. – Sumchans

Смежные вопросы