C# 表单在运行时加载XAML视图

C# 表单在运行时加载XAML视图,c#,xaml,xamarin,xamarin.forms,C#,Xaml,Xamarin,Xamarin.forms,我正在寻找一种解决方案,以便在运行时在Xamarin.Forms中动态加载XAML文件,然后将其显示为视图/内容页面 我已经找到了这个问题的一些答案,但它们不再有效,或者样本被删除: 要加载的XAML示例: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas

我正在寻找一种解决方案,以便在运行时在Xamarin.Forms中动态加载XAML文件,然后将其显示为视图/内容页面

我已经找到了这个问题的一些答案,但它们不再有效,或者样本被删除:

要加载的XAML示例:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="Examples.Views.TestView">
    <ContentPage.Resources>
        <ResourceDictionary>
            <Style TargetType="Label">
                <Setter Property="FontSize" Value="Medium" />
                <Setter Property="TextColor" Value="Black"/>
            </Style>
        </ResourceDictionary>
    </ContentPage.Resources>
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Hello World!"></Label>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

您应该能够使用
LoadFromXaml

使用以下方法添加此选项:
使用Xamarin.Forms.Xaml

然后像这样膨胀页面:

// TODO your XAML here
var xaml = "<ContentPage></ContentPage>";

var loadedXamlPage = new ContentPage();
loadedXamlPage.LoadFromXaml(xaml);
//在这里执行XAML
var xaml=“”;
var loadedXamlPage=新内容页();
loadedXamlPage.LoadFromXaml(xaml);

可以找到示例存储库。

您是否希望从网站(或类似网站)动态下载这些页面?如果只使用WebView,解决方案会更简单吗?我正在从web服务下载它们,以便在运行时编辑它们。我不确定WebView是否适用于我的情况,因为我正在XAML中使用绑定。非常感谢您对解决方案的快速回答。我以前也试过同样的方法,但没用。但是通过您的示例项目,我设法在解决方案中找到了错误。我所要做的就是删除Xamarin.Forms.Dynamic NuGet并将Xamarin.Forms NuGet更新到最新版本(2.5.0)。现在它就像一个符咒!