自Xamarin Forms 3.0以来,确实可以将XF应用程序也作为“旧版” WPF桌面应用程序运行,以使其在Windows 7或UWP存储之外运行。更多信息:https://www.c-sharpcorner.com/article/create-wpf-application-using-xamarin-forms/
这可以通过使用wpf:FormsApplicationPage
并调用
Forms.Init();
LoadApplication(new MyXFApp.App());
XAML:
<wpf:FormsApplicationPage x:Class="MyWPFApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
...
xmlns:wpf="clr-namespace:Xamarin.Forms.Platform.WPF
assembly=Xamarin.Forms.Platform.WPF"
...
xmlns:internals="http://xamarin.com/schemas/2014/forms">
</wpf:FormsApplicationPage>
到目前为止,这对我有用。但是,实际上只能在WPF应用程序中启动“整个” XF应用程序吗?我想实现的是在FormsApplicationPage中使用单独的XF ContentPage
(或ContentView
),例如,使用我的XF类MyNamespace.MyContentView
:
<wpf:FormsApplicationPage x:Class="MyWPFApp.MainWindow"
...
xmlns:myNS="MyNamespace"
...>
<StackPanel>
<Label/>
<myNS:MyContentView>
</StackPanel>
</wpf:FormsApplicationPage>
这怎么可能?