Использование DataTemplate - PullRequest
       12

Использование DataTemplate

1 голос
/ 13 марта 2012

Ради этого я довольно новичок в C # и Windows Phone 7, но тем не менее я попытался сделать небольшое приложение для себя. Вот моя проблема:

Я пытаюсь настроить DataTemplate, который будет размещать мои переменные Name и Drinks, которые я объявил в MainPage.xaml.cs. Вот мое действие при нажатии кнопки 1:

        private void button1_Click(object sender, RoutedEventArgs e)
    {
        string Name = participantName.Text;
        int Drinks = 0;

        listBox1.Items.Add(Name + Drinks);
    }

А вот мой DataTemplate от MainPage.xaml

            <ListBox Height="Auto" HorizontalAlignment="Stretch" Margin="7,74,0,0" Name="listBox1" VerticalAlignment="Stretch" Width="Auto">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" Height="132">
                        <TextBlock Text="{Binding Path=Name}" FontSize="35" />
                        <StackPanel Width="370">
                            <TextBlock Text="{Binding Path=Drinks}" FontSize="35" />
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

Проблема в том, что мои данные не отображаются. Он прекрасно работает без DataTemplate, но как только я его использую, мой текст просто не проходит. Ваша помощь очень ценится.

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Сам шаблон в порядке.Тем не менее, привязки в шаблоне в настоящее время неверны.

Когда вы добавляете новый элемент в список, вы просто добавляете простую старую строку (в которой в настоящее время отсутствует пробел).Кстати, ваши привязки ожидают, что объект в списке будет иметь свойство Name и свойство Drinks, которого, конечно, у класса string нет.

Обычное решениездесь необходимо логически отделить вашу модель данных от вашей презентации, создав класс для хранения самих данных (вероятно, PersonDrink, с соответствующими свойствами Name и Drinks), а затем добавив эти объекты в список.

Вам следует ознакомиться с шаблоном MVVM, поскольку он предоставляет отличный способ обеспечить отражение изменений в ваших данных в вашем виде и наоборот.

0 голосов
/ 13 марта 2012

http://amarchandra.wordpress.com/2011/12/18/binding-multiple-object-in-wp7-using-listbox/

Вот пример для привязки данных с использованием таблицы данных. Я надеюсь, что это может помочь вам.

...