MEF / PRISM Silverlight - PullRequest
       15

MEF / PRISM Silverlight

2 голосов
/ 30 апреля 2011

Я новичок в MEF / Prism и Silverlight и не знаю, как динамически загружать модули в ItemsControl.Я в основном хочу иметь возможность выгружать динамически загруженные модули в один и тот же контейнер региона.Как я могу сделать это, используя MEF / PRISM?

Ответы [ 2 ]

3 голосов
/ 30 апреля 2011

Проект QuickStart в Prism делает именно то, что вы просите. Это называется Модульность QuickStart :)

Также обратите внимание на эту тему: Использование Prism для навигации в приложении Wpf

Просмотр инъекций QuickStart устанавливает представление об изменении выбранного элемента ListView, поэтому может быть также полезным.

2 голосов
/ 03 мая 2011

Область для размещения нескольких элементов управления должна иметь тип ItemsControl:

<ItemsControl 
    x:Name="MainToolbar" 
    cal:RegionManager.RegionName="{x:Static inf:RegionNames.MainToolBarRegion}">
</ItemsControl>

Просмотры могут быть добавлены и удалены с помощью кода:

//add view if not already present
IRegion region = this._regionManager.Regions["RegionName"];

object view = region.GetView( "ViewName" );
if ( view == null )
{
    var view = _container.ResolveSessionRelatedView<IMyView>( );
    region.Add( view, "ViewName");
}

//remove
IRegion region = this._regionManager.Regions["RegionName"];

object view = region.GetView( "ViewName" );
if ( view != null )
{
    region.Remove( view );
}

Используя этот код, вы также можете добавлять виды по коду, помимо использования встроенной функции навигации Prism.

...