2015-04-22 4 views
1

я использовал DevExpress гибрид МОФ мастера подмостей, чтобы создать полный MVVMShow View в диалоговом окне

приложение с видом на сборниках и отдельных объектных представлений.

Теперь я изо всех сил пытаюсь понять, как сделать всплывающее окно с одним объектом, дважды щелкнув его из представления коллекции, как диалог metroUI, а не как рамку с кнопкой возврата.

+0

Вы хотите открыть диалог с вашей модели? – blindmeis

+0

Я хочу, чтобы представление отображалось как диалог. –

+0

thats я использую http://stackoverflow.com/questions/3801681/good-or-bad-practice-for-dialogs-in-wpf-with-mvvm – blindmeis

ответ

1

Я предлагаю вам использовать IDialogSerivice, и это реализация WinUIDialogService для выполнения этой задачи. Поскольку вы используете scaffolding, вы должны пойти в вашей точки зрения сбора (YouEntityCollectionView.xaml) и перейти в Behaviors раздел:

<dxmvvm:Interaction.Behaviors> 
    <dxwui:WinUIMessageBoxService/> 
    <dxmvvm:EventToCommand Command="{Binding OnLoadedCommand}" /> 
    <WindowedDocumentUIService YieldToParent="True"/> 
</dxmvvm:Interaction.Behaviors> 

Добавьте услугу в этом разделе:

<dxmvvm:Interaction.Behaviors> 
    <dxwui:WinUIMessageBoxService/> 
    <dxmvvm:EventToCommand Command="{Binding OnLoadedCommand}" /> 
    <dxwui:WinUIDialogService /> 
</dxmvvm:Interaction.Behaviors> 

После того, что вы должны замените IDocumentManagerService на IDialogService в коде CollectionViewModel. Он может выглядеть следующим образом:

// Edit: 
//DocumentManagerService.ShowExistingEntityDocument<TEntity, TPrimaryKey>(this, primaryKey); 
this.GetService<IDialogService>().ShowDialog(MessageButton.OKCancel, null, typeof(TEntity).Name + "View", primaryKey, this); 

// New: 
//DocumentManagerService.ShowNewEntityDocument(this, newEntityInitializer); 
this.GetService<IDialogService>().ShowDialog(MessageButton.OKCancel, null, typeof(TEntity).Name + "View", newEntityInitializer, this); 
+0

Спасибо! Я попробую и дам вам знать. –