2010-03-08 1 views
3

У меня есть приложение WinForm среднего размера (1 Форма, которая содержит 40 элементов управления пользователя), которую мы используем в доме. Я хочу перейти на WPF, но я не могу выполнять Mass ReRelease.WinForm - интеграция WPF; Piece by Piece

Моя идея состояла в том, чтобы воссоздать приложение User 1 User Control одновременно в WPF и разместить это в существующем приложении WinForm. Я бы заставил их выглядеть почти идентичными, на данный момент, поэтому нет необходимости в массовой переподготовке.

Мой вопрос больше подходит, любой другой пробовал это и как работает часть данных.

Я воссоздал один из элементов управления WinForms как пользовательский элемент управления WPF. Нужно ли публиковать это как библиотеку пользовательского контроля?

Как же получить доступ к DAL для этого UC? Я использую слой данных Linq to Sql.


Чтобы уточнить, пользовательские элементы управления для меня являются «страницами», поэтому демография - это пользовательский элемент управления.

Кроме того, мой DAL - это отдельная библиотека. Я тоже хочу, чтобы это в моем WPF-решении, а затем настроил привязку данных там, и когда я импортирую его в приложение winform, он будет с ним или он сможет найти его в том же месте ...

ответ

1

Я нахожусь в середине перехода от версии Win Form к версии программы WPF на данный момент. Я использую довольно стандартные элементы управления, поэтому нет необходимости в программировании пользовательского управления. Я нахожу это довольно легко. Мой конец - это некоторое ORM-сопоставление из SQL2008, и это довольно легко разработать.

У WPF есть немного другой метод привязки данных, хотя, возможно, вам придется потратить некоторое время, глядя на MSDn, выясняя классы CollectionView и еще много чего.

Что касается ваших пользовательских элементов управления, являются ли элементы управления доступными для данных Data driectly? Или они вместо этого обращаются к данным через промежуточный интерфейс?

Раньше мои единственные пользовательские элементы управления были довольно простыми (маскированное текстовое поле, числовое вверх/вниз и т. Д.). Все они размещались в библиотеке управления. Для чего вы говорите, я бы предположил, что импорт вашей ссылки DAL будет работать. В противном случае я не уверен, что может быть проблемой.

Cory

+0

Они получают доступ к слою LINQ, который, в свою очередь, является доступом к данным. Уровень LINQ - это собственная dll. Спасибо –

+0

Ahh Я вижу. Похоже, он должен работать как библиотека управления, пока управляющий код может получить доступ к DAL. Ранее сегодня я сделал небольшой тестовый контроль, который проверял статус пакета (из FedEx) через веб-службу отслеживания пакетов и включал все это в библиотеку управления. Все, казалось, ушло без сучка и задоринки. В моем случае я просто сделал веб-ссылку, поэтому вы можете просто иметь ссылку/импорт на уровень LINQ, и я думаю, что все будет в порядке. Cory – CodeWarrior

+0

Это было бы эпично, нежели представить! Я дам ему гонку сегодня и сообщите о поддержке –