Этот вопрос относится к следующей теме.
Prism RegionAdapter - удаление и добавление вида
Мое сообщение в этой теме было удалено моим администратором, сказав, что на него ответили, и мне нужно начать новую тему. Пожалуйста, дайте мне знать, если кто-то из вас решил эту проблему.
Мой удаленный пост был ...
Как вам удалось избавиться от «Указанный элемент уже является логическим потомком другого элемента. Сначала отключите его». ошибка с закрытием события. Я попробовал то же самое, закрывая, удаляю закрепляемый контент из области документов. Но это не помогает мне продолжать получать эту ошибку. Как только я удаляю представление, а затем пытаюсь добавить его снова так же, как вы добавляете, я получаю эту ошибку.
Пожалуйста, помогите мне, я не уверен, что мне не хватает. Я потратил столько времени, пытаясь обойти это, но пока не повезло.
Вот код, который я использую:
<ad:DockableContent ...
x:Name="viewRoot"
IsCloseable="True" HideOnClose="False"
Title="{Binding Title}">
<ContentControl Grid.Row="1" Content="{Binding View}"/>
</Grid>
</ad:DockableContent>
Это используется внутри этого:
<ad:DockingManager x:Name="DockingManagerControl" Grid.Column="1">
<ad:ResizingPanel x:Name="MainResizingPanel" ResizeWidth="*" ResizeHeight="*" Orientation="Horizontal">
<ad:DockablePane ad:ResizingPanel.ResizeWidth="0.25*" prism:RegionManager.RegionName="ProjectBrowserRegion"/>
<ad:ResizingPanel x:Name="PespectiveResizingPanel" ResizeWidth="0.75*" ResizeHeight="*" Orientation="Horizontal">
<ad:DocumentPane x:Name="DockablePaneControl"/>
</ad:ResizingPanel>
</ad:ResizingPanel>
</ad:DockingManager>
Привязки содержимого представления являются элементом пользовательского интерфейса, который происходит из отдельных библиотек, поэтому у меня их нет как пары View / ViewModel. Поэтому я не могу использовать ContentTemplate + DataContext здесь. Вещи загружаются хорошо, но использование может выбрать / отменить выбор этих представлений. Таким образом, если представление снова открывает диалоговое окно выбора вида, то я очищаю все представления (я удаляю его из DockablePaneControl Items.Clear ()) и снова добавляю выбранные представления (DockablePaneControl Items.Add ()), затем я получаю это ошибка.