2009-07-17 4 views
3

Мне не удалось успешно привязать некоторые тестовые данные к SketchFlow ComboBox. Я добавил образец источника данных и создал коллекцию с некоторыми базовыми строковыми значениями. Существует ряд руководств по привязке к ListBox в SketchFlow, и это отлично работает, просто не обнаруживая ничего для ComboBox.Как связать данные теста с SketchFlow ComboBox?

ответ

1

Кажется, что я работаю так, как я ожидал, поэтому, возможно, я неправильно понимаю вашу проблему, но я дам ему шанс! Я создал образец DataSource с несколькими строками в нем, добавил ComboBox к корню макета, а затем просто перетащил коллекцию из DataSource и сбросил ее на ComboBox.

Имейте в виду, что если вы перетащите сам DataSource, вы будете устанавливать свойство DataContext для ComboBox, и этого недостаточно, чтобы отображать ваши объекты. Вам также необходимо, чтобы ItemsSource привязывался к коллекции DataSource и ItemTemplate или DisplayMemberPath, чтобы сообщить ComboBox, как отображать ваши элементы.

Кроме того, если вы используете метод перетаскивания перетаскивания, он будет использовать подход ItemTemplate для вас, что может быть или не быть тем, что вы хотите, поскольку оно обычно создает StackPanel и отображает все поля из строки в вашей коллекции за элемент в ComboBox. Вы можете удалить ItemTemplate и установить DisplayMemberPath в любое поле, которое вы хотите отобразить из коллекции вашего источника данных.

+0

Я делал то, что вы описали. Я попытался снова на новой странице (первоначально был на странице, которую я создал с несколькими разными состояниями, с которыми я переключался). Моя новая страница имеет только элемент управления ComboBox и простой DataSource с несколькими строками. Когда я запускаю проект, я получаю ошибку времени выполнения «Необработанная ошибка в приложении Silverlight AG_E_PARSER_BAD_TYPE». Я просто попытался использовать DisplayMemberPath вместо ItemTemplate, но получил ту же ошибку. Я ценю помощь, SketchFlow выглядит действительно многообещающим. – Clay

+0

Я только что пробовал с совершенно новым проектом, и шаги, которые вы описали, теперь отлично работают. По-видимому, что-то еще вызывает проблемы в моем первоначальном проекте. Еще раз спасибо! – Clay

3

Одна вещь, которая несколько раз поймала меня, заключается в том, что вам нужно иметь данные в «режиме списка», прежде чем перетаскивать их в элемент управления (поле со списком или список).