2016-03-07 41 views
0

我想在DataTemplate中创建一个区域。我的要求是,在TabControl中注入视图之后,让我们说Tab A,Tab B,Tab C.之后,我想在Tab A中创建一个区域,以便我可以在Tab A中注入视图。Means in button click,我可以在StackPanel区域内注入视图。请帮助我。DataTamplate内的区域未注册。如何去做

<ContentControl > 
    <ContentControl.ContentTemplate> 
     <DataTemplate> 
      <StackPanel prism:RegionManager.RegionName="ChildRegion" prism:RegionManager.RegionManager="{Binding Value, Source={StaticResource ObservableRegionManager}}"> 
       <TextBlock Grid.Row="0" Text="View A" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="48"></TextBlock> 
       <Button Grid.Row="1" Command="{Binding RelativeSource= {RelativeSource FindAncestor, AncestorType={x:Type ContentControl}},    
         Path=DataContext.NavigateCommand}" CommandParameter="ViewB">Navigate ViewB in Scoped Region</Button> 

      </StackPanel> 
     </DataTemplate> 
    </ContentControl.ContentTemplate> 
</ContentControl> 

我申请了下面的建议仍然没有得到任何成功。

http://southworks.com/blog/2011/11/10/regions-inside-datatemplates-in-prism-v4-using-a-region-behavior/

投掷的错误观点没有登记。

回答

0

正如您发现的那样,Prism中不支持在DataTemplates中使用区域。由于您正在使用自定义解决方案来实现此目标,因此很难提供帮助,特别是因为您尚未发布任何代码。由于扩展Prism的本质,即使您发布了一些代码,它也很可能不会帮助任何人诊断您的问题。

我的建议是不使用包含区域的DataTemplate。无论使用或不使用区域,我都不会使用DataTemplate来表示整个视图。

我建议你看这个过程:

https://app.pluralsight.com/library/courses/prism-mastering-tabcontrol/table-of-contents

这应该帮助。

+0

非常感谢您的建议Brian。即使没有DataTemplate我也没问题。但我的要求是。最初我需要通过查看发现在TabItem中注入视图。之后,在tabItem中,我想浏览多个视图。但是每一次查看都没有注册,我没有找到。即使你想我会在Github上发布我的代码。我看了几乎所有的课程,真棒教程大脑:)感谢重播。 –

+0

把你的示例放在github上。我不打算调试你的自定义代码,而只是你的初始设置,以确保它是正确的。 –