C# 表单在运行时加载XAML视图
我正在寻找一种解决方案,以便在运行时在Xamarin.Forms中动态加载XAML文件,然后将其显示为视图/内容页面 我已经找到了这个问题的一些答案,但它们不再有效,或者样本被删除: 要加载的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
<?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)。现在它就像一个符咒!