У меня проблема с всплывающими окнами пользовательских запросов взаимодействия Prism / WPF.Всплывающее окно корректно отображается при первом запросе, но каждое следующее всплывающее окно использует одно и то же представление.Это приводит к тому, что TextBlock
контролирует конкатенацию текста, полосы прокрутки не видны, динамические данные в элементах ItemsControl
не видны, всплывающее окно имеет неправильный размер и т. Д. Можно ли принудительно создавать новое всплывающее окно при каждом новом взаимодействиизапросить или обновить все элементы управления во всплывающем окне?
Чтобы показать всплывающее окно, я использую стандартный код из документации PRISM, например, всплывающее окно создается как:
PopUpViewModel displayData = reportCreator.GetReport();
this.CustomConfirmationRequest.Raise(displayData, res => {
if (res.Confirmed)
{ ... }
});
, где PopUpViewModel
наследует Confirmation, IInteractionRequestAware
XAML:
<prism:InteractionRequestTrigger SourceObject="{Binding CustomConfirmationRequest, Mode=OneWay}">
<prism:PopupWindowAction IsModal="True" CenterOverAssociatedObject="True" WindowStartupLocation="CenterScreen" >
<prism:PopupWindowAction.WindowContent>
<popups:SoPopUp/>
</prism:PopupWindowAction.WindowContent>
</prism:PopupWindowAction>
</prism:InteractionRequestTrigger>