Мога ли да хоствам контрола на Windows Forms в приложение на Windows Store?

Искам да създам приложение за Windows Store и то в него би искало да хоства някои Windows Forms контроли. Възможно ли е това?


person checho    schedule 16.05.2014    source източник
comment
Не, не можете да го направите.   -  person Ulugbek Umirov    schedule 16.05.2014
comment
защо искаш да направиш това? Приложенията на Windows Store са активирани за XAML. Можете да направите много по-добри потребителски интерфейси, отколкото с winforms.   -  person Federico Berasategui    schedule 16.05.2014
comment
Причините са без значение, това е просто случай, с който исках да се занимавам. Човек може да хоства WinForms контрола в приложението WPF, но не и в приложението за магазин на Windows?   -  person checho    schedule 16.05.2014
comment
@checho Приложенията на Windows Store са базирани на текущата технология. Вижте Windows Runtime, повечето концепции, базирани на XAML, са внедрени там, защото всъщност са полезни, но никой не се интересува от безполезните winforms, ето защо настоящите технологии нямат никаква поддръжка за това. Ако имате (правилно поддържащ MVVM) WPF потребителски интерфейси, можете относително лесно да ги пренесете към WinRT. Ако имате неща от winforms, вие оставате завинаги в winforms, освен ако не направите пълно пренаписване.   -  person Federico Berasategui    schedule 16.05.2014
comment
@HighCore все още има много контроли GDI+ контроли, които не могат да бъдат пренаписани за WPF/WS приложения. Боря се и с някои от тези наследства (напр. ActiveX контроли за изобразяване на видео). И така, някаква представа как да направите това?   -  person Andrei Floroiu    schedule 08.12.2014
comment
@AndreiFloroiu използва MediaElement. Освен това, не мога да си представя нито един случай, в който архаичната функционалност на winforms не може да бъде постигната с няколко реда XAML в настоящите технологии.   -  person Federico Berasategui    schedule 08.12.2014
comment
@HighCore MediaElement е добър за видео, което използва стандартни кодеци (дори тези, които идват с K-Lite Mega Codec Pack). Когато имате работа със записващи устройства (NVR, DVR и т.н.), вие или спестявате време и използвате контрол на доставчика (ActiveX и/или WinForms/GDI+), или умирате да пишете Media Foundation Filters за техните H.264 персонализирани реализации, които може да се различават от версия на фърмуера на друга. Нямат време/бюджет да си свършат работата.   -  person Andrei Floroiu    schedule 19.12.2014


Отговори (2)


Краткият отговор е не. Както беше посочено в коментарите, приложенията на Windows Store използват XAML, а не winforms, и също така се изпълняват в контейнер за приложения (модерен потребителски интерфейс) и нямат достъп до работния плот (където работи winforms). Освен това приложенията на Windows Store се изпълняват в силно ограничена среда и не могат да изпълняват външни настолни приложения.

person Kyle the anime guy    schedule 14.05.2015

Отговорът на този въпрос може да е бил „не“ в миналото, но изглежда, че Microsoft има конкретно решение за справяне с този сценарий. Desktop to UWP Bridge е проектиран да хоства Windows Forms и наследени приложения в UWP контейнер, който може (с някои ограничения) да бъде инсталиран от Windows Store.

Мостът от работен плот към UWP изглежда е проектиран да се справи с тази ситуация

https://developer.microsoft.com/en-us/windows/bridges/desktop

person Blue Toque    schedule 06.05.2017