Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > WPF, Win32 и C#


Автор: Imir 2.10.2008, 16:27
Доброго всем времени суток.

Недавно стал изучать технологию WPF. 
И вот несколько вопросов:
1. Можно ли прикрутить форму построенную на этой технологии к проекту Win32?
2. Как прикрутить форму WPF к проекту C# "Windows Forms Application"

Автор: HalkaR 3.10.2008, 11:13
Формы прикрутить AFAIK нельзя ни в том ни в другом направлении. Но можно положить WPF контрол на WinForm и обратно.

Автор: Imir 3.10.2008, 15:05
Цитата(HalkaR @ 3.10.2008,  11:13)
Формы прикрутить AFAIK нельзя ни в том ни в другом направлении. Но можно положить WPF контрол на WinForm и обратно.

В общем сегодня натолкнулся на http://msdn.microsoft.com/en-us/library/aa970266.aspx

И вот что я сделал:

1. Создал проект Visual C++ "CLR Console Application"  под название "ProejectWin32".
2. Добавил к текущему Solution новый проект Visual C# "WPF Custom Control Library" под названием "WPFForms"
3. Добавил к проекту WPFForms новый итем "Window (WPF)" с названием "Window1"
4. Затем в свойствах проекта "ProejectWin32" выполняю "Add New Reference" и добавляю необходимые длл и добавляю WPFForms.
5. Затем в main проекта "ProejectWin32" пишу следующий код:
Код

[System::STAThreadAttribute]
int main(array<System::String ^> ^args)
{
  WPFForms::Window1 ^win = gcnew WPFForms::Window1();
  Application ^app = gcnew Application();
  app->Run(win);
  return 0;
}


И вот когда запускаю скомпилированную программу получаю приложение которое имеет главное окно построенное на WPF.

Так как я ещё не нашёл как обращаться к контролам. Возможно так делать нельзя. Но факт того, что окно WPF вызывается из проекта обычного консольного проекта на лицо. Конечно проект "CLR Console Application" не совсем Win32. Но думаю это не столь важно. 

P.S. В общем окно WPF мне было нужно чтобы упростить проектировку интерфейса пользователя. Так как область применения программы очень специализированная, то и соответственно нужны некоторые специализированные контролы. Которые должны упростить общение пользователя с программой. Но сдается мне, что не все так радужно и просто. smile 
Иметь один редактор для проектирования форм очень удобно. Нежели вставлять WPF контролы в WindowsForm. Поэтому идея того, что можно использовать только WPF контролы не очень интересна. 
А перейти полностью на проект C# "WPF Application" не очень хорошая мысль. Так как в корне поменять технологию всего проекта нет времени.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)