Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WPF和x2B中查看删除/停用;棱镜不工作_Wpf_View_Prism_Regions_Cal - Fatal编程技术网

在WPF和x2B中查看删除/停用;棱镜不工作

在WPF和x2B中查看删除/停用;棱镜不工作,wpf,view,prism,regions,cal,Wpf,View,Prism,Regions,Cal,我有一个带有ContentControl项的shell(窗口) <ContentControl regions:RegionManager.RegionName="mainContentRegion"/> 及 应用程序启动时,StartupControl将根据需要显示在区域中。然而,我正试图让StartupControl被MusicGenerator取代,这被证明是徒劳的吞食 起初,我尝试更改视图本身(因为ContentControl一次只能承载一个视图) 原始视图,即Startu

我有一个带有
ContentControl
项的shell(窗口)

<ContentControl regions:RegionManager.RegionName="mainContentRegion"/>

应用程序启动时,
StartupControl
将根据需要显示在区域中。然而,我正试图让
StartupControl
MusicGenerator
取代,这被证明是徒劳的吞食

起初,我尝试更改视图本身(因为
ContentControl
一次只能承载一个视图)

原始视图,即
StartupControl
永远不会从根视图中删除

两个视图的完整代码清单

StartupControl.xaml.cs

public partial class StartupControl : IRegionMemberLifetime
{
    public bool KeepAlive
    {
        get { return false; }
    }

    public StartupControl(IUnityContainer container)
    {
        InitializeComponent();
        DataContext = container.Resolve<StartupViewModel>();
    }
}
using Microsoft.Practices.Prism.Regions;

namespace GeneticMusic.Views
{
    /// <summary>
    /// Interaction logic for StartupControl.xaml
    /// </summary>
    public partial class MusicGeneration : IRegionMemberLifetime
    {
        public bool KeepAlive
        {
            get { return false; }
        }

        public MusicGeneration()
        {
            InitializeComponent();
        }
    }
}
公共部分类StartupControl:IRegionMemberLifetime
{
公共图书馆
{
获取{return false;}
}
公共启动控制(IUnityContainer容器)
{
初始化组件();
DataContext=container.Resolve();
}
}
StartupControl.xaml

<UserControl x:Class="StartupModule.Views.StartupControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" >

    <Grid Name="Container">
         has content here which displays correctly
    </Grid>
</UserControl>
<UserControl x:Class="GeneticMusic.Views.MusicGeneration"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
             mc:Ignorable="d" >


    <Grid Name="Container">
        content here... displays correctly
    </Grid>
</UserControl>

此处有正确显示的内容
MusicGenerator.xaml.cs

public partial class StartupControl : IRegionMemberLifetime
{
    public bool KeepAlive
    {
        get { return false; }
    }

    public StartupControl(IUnityContainer container)
    {
        InitializeComponent();
        DataContext = container.Resolve<StartupViewModel>();
    }
}
using Microsoft.Practices.Prism.Regions;

namespace GeneticMusic.Views
{
    /// <summary>
    /// Interaction logic for StartupControl.xaml
    /// </summary>
    public partial class MusicGeneration : IRegionMemberLifetime
    {
        public bool KeepAlive
        {
            get { return false; }
        }

        public MusicGeneration()
        {
            InitializeComponent();
        }
    }
}
使用Microsoft.Practices.Prism.Regions;
命名空间GeneticMusic.Views
{
/// 
///StartupControl.xaml的交互逻辑
/// 
公共部分类音乐生成:IRegionMemberLifetime
{
公共图书馆
{
获取{return false;}
}
公共音乐生成()
{
初始化组件();
}
}
}
GenerateMusic.xaml

<UserControl x:Class="StartupModule.Views.StartupControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             mc:Ignorable="d" >

    <Grid Name="Container">
         has content here which displays correctly
    </Grid>
</UserControl>
<UserControl x:Class="GeneticMusic.Views.MusicGeneration"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
             mc:Ignorable="d" >


    <Grid Name="Container">
        content here... displays correctly
    </Grid>
</UserControl>

内容在这里。。。正确显示
编辑:看起来像是重复的


您是否可以发布工作样本?理解这个问题并不难。@pushpraj-这真的很难做到,因为我有大量的项目彼此依赖,也就是XAML(资源字典)。我不知道从何处开始添加工作样本,但这里的问题基本相同:
<UserControl x:Class="GeneticMusic.Views.MusicGeneration"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
             mc:Ignorable="d" >


    <Grid Name="Container">
        content here... displays correctly
    </Grid>
</UserControl>