Нов прозорец в приложението Silverlight извън браузъра

В приложение Silverlight, което не работи в браузър, възможно ли е да се създаде нов прозорец от най-високо ниво? Или поне детски прозорец?

Намерих някакво решение с помощта на ChildWindow , но въпреки че моят проект е конфигуриран за Silverlight 4, този клас не може да бъде намерен.

Имам UserControl (XAML файл), който искам да покажа като нов прозорец. Използването на контрола с раздел не е наистина опция за съжаление, тъй като потребителят трябва да може да подрежда прозорци, за да вижда повече от един наведнъж.

Някакви предположения?


person AndiDog    schedule 20.06.2011    source източник


Отговори (1)


ChildWindow е част от SDK, трябва да добавите System.Windows.Controls.dll за достъп до типа ChildWindow.

Не съм сигурен, че можете да накарате ChildWindow да прави това, което очаквате. ChildWindow е проектиран да представя прозорец по модален начин. Това модално поведение обаче всъщност е функция на шаблона ChildWindow. Възможно е повторно шаблониране, за да се премахне модалното поведение. Въпреки това никога не съм се опитвал да манипулирам множество дъщерни прозорци. Можете да опитате, големият въпрос би бил какво ще се случи, ако затворите Детски прозорци в различен ред, в който са създадени?

За да използвате ChildWindow, за да представите вашето UserControl, вероятно би било най-добре да произлизате от ChildWindow, вместо от UserControl. Може дори да откриете, че в крайна сметка би било по-добре да създадете базов клас между вашия конкретен Xaml и ChildWindow, където бихте поставили код, който е общ за всичките ви прозорци.

Може би си струва да отбележите, че Silverlight 5 ще поддържа множество прозорци.

person AnthonyWJones    schedule 20.06.2011
comment
Ще използвам Silverlight 5 beta и неговата поддръжка за създаване на собствени прозорци. Работи страхотно :) Това ще бъде най-доброто решение за нашия проект. И за пълнота: Урок за Silverlight 5 Native Windows - person AndiDog; 23.06.2011