0

我想在 DataTemplate 中创建一个区域。我的要求是,在 TabControl 中注入视图之后,让我们说 Tab A、Tab B、Tab C。之后我想在 Tab A 内创建一个区域,以便我可以在 Tab A 内注入视图。意味着单击按钮,我可以在 StackPanel 区域内注入一个视图。请帮帮我。

<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/

抛出未注册的错误视图。

4

1 回答 1

0

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

我的建议是不要使用包含区域的 DataTemplate。不管有没有区域,我都不会使用 DataTemplate 来表示整个视图。

我建议你看这个课程:

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

这应该会有所帮助。

于 2016-03-07T16:41:58.747 回答