Я не понимаю привязку данных в WP7 - PullRequest
1 голос
/ 08 февраля 2012

В Android это просто и понятно.В WP7 это не так (по крайней мере для меня).Чего я пытаюсь достичь: я хочу иметь ListPicker:

<toolkit:ListPicker>

Я хочу накапливать его со строками (так же, как вы делаете это с массивами xml для спиннеров в Android)

Я хочу, чтобы строка отображалась пользователю как элемент в средстве выбора.Также было бы хорошо, если бы решение этой интернационализации поддерживалось.Я пытался создать Ресурсы со списком строк, но не мог понять, как «привязать» его к элементу управления.Я не хочу, чтобы строковые значения были жестко закодированы в файлах .cs.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2012

Стандартный способ заполнить элемент управления ListPicker - установить его свойство ItemsSource для коллекции, которую вы хотите отобразить.ListPicker имеет ItemTemplate, в котором подробно описывается, как отображается каждый элемент.Если вы не укажете ItemTemplate, по умолчанию будет использоваться шаблон toString(), вызываемый для каждого из элементов в вашей коллекции для их рендеринга.

Подробнее см. В этом руководстве:

ListPicker для WP7 в глубину

Таким простым примером будет:

<toolkit:ListPicker x:Name="myList"/>

И в коде позади:

myList.ItemsSource = new List<string>() {
  "one", "two", "three"
};
0 голосов
/ 08 февраля 2012

Чтобы расширить ответ Колина: вы можете указать строки в XAML: из примера кода набора инструментов ListPickerSample.xaml.

Вам потребуется добавить пространство имен в начало ...

xmlns:sys="clr-namespace:System;assembly=mscorlib"

, а затем ...

<toolkit:ListPicker Header="Background">
      <sys:String>dark</sys:String>
      <sys:String>light</sys:String>
      <sys:String>dazzle</sys:String>
</toolkit:ListPicker>

Вы должны иметь возможность применять стандартные методы XAML i18n к этим строкам, используя {Binding} или {StaticResource}

...