gpt4 book ai didi

c# - Microsoft Prism 应用程序需要帮助

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:35 24 4
gpt4 key购买 nike

我正在使用 MEF 创建一个新的 Prism4 应用程序,它运行良好。我已经创建了 Shell 等,一切正常。

但现在我需要创建一个新的 Window 并在其中包含一个 Region 但该区域似乎没有在 RegionManager 中注册(请参阅 Window_Closing 事件)和窗口中的区域运行良好,因为显示了注入(inject)其中的 View 。

这是新窗口的代码

Wizard.xaml

<DockPanel LastChildFill="True">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" DockPanel.Dock="Bottom">
<Button Content="_Previous" Margin="0, 0, 10, 0" />
<Button Content="_Next" />
</StackPanel>
<ContentControl cal:RegionManager.RegionName="WizardStepsRegion" />
</DockPanel>

当我尝试获取窗口的区域时,出现以下异常“用户代码未处理 KeyNotFoundException”、“区域管理器不包含 WizardStepsRegion 区域。”

Wizard.xaml.cs

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
object asdf = regionManager.Regions["WizardStepsRegion"];
}

为什么区域没有在区域管理器中注册?

有人可以帮助我吗?

谢谢。

最佳答案

听起来您正在尝试创建一个对话框。您是导入该对话框还是使用 new Wizard() 创建它?如果您使用 new 运算符创建它,RegionManager 将一无所知。您可以使用 SetRegionManager 手动告知 RegionManager 有关窗口的信息.

RegionManager.SetRegionManager(window, myRegionManager);

然后 RegionManager 将了解您的类型的所有信息,发现其区域等。另一种选择是导入向导类型,并在您需要时仅.Show(),但有时这不是'实用。

关于c# - Microsoft Prism 应用程序需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6439771/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com