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