0

在 WPF 应用程序中工作时。我试图在 XAML 中多次使用一个区域。但不能获得运行时异常“具有给定名称的区域已注册:DeviceListRegion”

我正在尝试做类似的事情。

 <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="3*"/>
        </Grid.ColumnDefinitions>
        <ContentControl cal:RegionManager.RegionName="{x:Static Regions.DeviceListRegion}"
                    Grid.Column="0"/>
        <GridSplitter 
        ResizeDirection="Columns" 
        Grid.Column="1" 
        Width="3"
        Height="Auto"
        Background="Black"
        HorizontalAlignment="Stretch" 
        VerticalAlignment="Stretch" 
        Margin="0"/>
        <ContentControl cal:RegionManager.RegionName="{x:Static Regions.DeviceListRegion}"
                    Grid.Column="0"/>
    </Grid>

我的要求是我需要在不同的 xaml 中多次调用同一个视图。这样做的正确方法是什么?

编辑:- 我的具体情况是我有 MainProject ,其中我有一个 UserControl 仅在 MainProject 中注册了 Region 并且也在那里使用。

<ContentControl cal:RegionManager.RegionName="{x:Static UIFramework:Regions.PropertiesRegion}" Grid.Column="2"/>

现在我创建了另一个不引用主项目的项目。但我仍然想使用相同的区域“Regions.PropertiesRegion”。

 <TabControl>
        <TabItem Header="General">
            <ContentControl cal:RegionManager.RegionName="{x:Static UIFramework:Regions.PropertiesRegion}"/>
        </TabItem>
        <TabItem Header="Properties">
            <ContentControl cal:RegionManager.RegionName="{x:Static PwrGui:LocalRegions.AnotherRegion}"/>
        </TabItem>
  </TabControl>

此代码引发异常“具有给定名称的区域已注册。”。我怎样才能做到这一点?

4

0 回答 0