我正在尝试将(Prism 7)WPF窗口集成到现有WinForms应用程序中。
我的窗口定义为:
<Window x:Class="ESC.SV.UI.RAndDClient.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ESC.SV.UI.RAndDClient"
xmlns:core="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:prism="http://www.codeplex.com/prism"
xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars"
prism:ViewModelLocator.AutoWireViewModel="True"
mc:Ignorable="d"
Title="{Binding Title}" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<dxb:BarContainerControl Grid.Row="0">
<dxb:ToolBarControl Caption="Main Toolbar" BarItemHorizontalIndent="10">
<dxb:BarButtonItem Content="View 1" Glyph="{dx:DXImage Image=Forward_16x16.png}" Command="{Binding ExecuteView1Command}"/>
<dxb:BarButtonItem Content="View 2" Glyph="{dx:DXImage Image=Backward_16x16.png}" Command="{Binding ExecuteView2Command}"/>
</dxb:ToolBarControl>
</dxb:BarContainerControl>
<ContentControl prism:RegionManager.RegionName="ViewsRegion" Grid.Row="1" VerticalAlignment="Top"/>
</Grid>
启动WinForms应用程序并显示此窗口时,出现以下错误消息:
...这说明了在引导程序中覆盖ConfigureRegionAdapterMappings方法,但是当我创建一个继承自UnityBootstrapper的BootStrapper类时,它说这已经过时了。我知道App应该继承自PrismApplication,但这是否也适用于WinForms应用程序?
非常感谢您提供有关如何处理这种情况的建议。
答案 0 :(得分:0)
我知道App应该继承自PrismApplication,但这是否也适用于WinForms应用程序?
Prism是WPF应用程序框架(以及UWP和Xamarin)。它不支持WinForms。话虽如此,您甚至可以在没有任何GUI的情况下单独使用Prism的各个部分(例如,事件聚合器在Windows服务中可以正常工作)。
您想在棱镜库中使用什么?基本上,对于每个功能,您都必须查看引导程序如何对其进行初始化和配置,然后使该初始化和配置适应您的应用程序。