Могу ли я поместить регион в элемент управления TabItem? - PullRequest
0 голосов
/ 11 января 2019

У меня есть следующий код для отображения просмотров.

<TabControl>
     <TabItem x:name=View1 ...>
           <TabItem.Header>
               <Grid>
                  <local:View1 />
               </Grid>
           </TabItem.Header>
     </TabItem>
     <TabItem x:name=View2 ...>
            <TabItem.Header>
               <Grid>
                  <local:View2 />
               </Grid>
           </TabItem.Header>
     </TabItem>
     <TabItem x:name=View3 ...>
         <TabItem.Header>
               <Grid>
                  <local:View3 />
               </Grid>
           </TabItem.Header>
     </TabItem>
</TabControl>

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

Так можно ли добавить регионы в элементы управления TabItem? Такие как

<TabControl>
     <TabItem x:name=View1 prism:RegionManager.RegionName="Region1".../>
     <TabItem x:name=View2 prism:RegionManager.RegionName="Region2".../>
     <TabItem x:name=View3 prism:RegionManager.RegionName="Region3".../>
</TabControl>

Или я должен заменить TabItem на ContentControl? Вопрос в том, что как-то код находится в производстве. Если я изменю это не уверен, какие-либо негативные последствия?

1 Ответ

0 голосов
/ 11 января 2019

Вы можете поместить ContentControl в каждом TabItem и разместить там регионы.

«Нормальный» TabControlRegionAdapter, который вы находите путем поиска в Google (например, this ), позволяет вам разместить регион в TabControl, так что TabItem создается для каждого вида, который вы добавляете в регион - это означает, что не кажется, что вы хотите здесь.

<TabControl>
     <TabItem x:name=View1>
         <ContentControl prism:RegionManager.RegionName="Region1"/>
     </TabItem>
     <TabItem x:name=View2>
         <ContentControl prism:RegionManager.RegionName="Region2"/>
     </TabItem>
     <TabItem x:name=View3>
         <ContentControl prism:RegionManager.RegionName="Region3"/>
     </TabItem>
</TabControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...