[英]How to use Uno Platform with Windows Community Toolkit
我试图用这个Uno Platform 模板制作一个演示应用程序。
我想要做的就是在这个例子中添加 winui2 并在这个 例子中添加 Windows 社区工具包。
在做Windows社区工具包教程中提到的事情时,即安装以下Nuget package:
并在我的 XAML 中使用以下参考:
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
在 XAML 文件中,我添加了教程提供的以下代码片段:
<controls:DataGrid x:Name="dataGrid">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Rank"/>
<controls:DataGridComboBoxColumn Header="Mountain"/>
</controls:DataGrid.Columns>
</controls:DataGrid>
将我带到我的 Shell.xaml 中的以下 XAML 文件:
<ContentControl
x:Class="AndroidTest.Views.Shell"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:AndroidTest"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:prismMvvm="using:Prism.Mvvm"
xmlns:prismRegions="using:Prism.Regions"
xmlns:winui="using:Microsoft.UI.Xaml.Controls"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
prismMvvm:ViewModelLocator.AutowireViewModel="True"
mc:Ignorable="d">
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Margin="20">
<TextBlock Text="{Binding Title}" FontSize="30" />
<TextBlock Text="Welcome to Uno/WinUI and Prism!" FontSize="15" />
<!-- winui -->
<winui:NumberBox />
<!-- community toolkit -->
<controls:DataGrid x:Name="dataGrid">
<controls:DataGrid.Columns>
<controls:DataGridTextColumn Header="Rank"/>
<controls:DataGridComboBoxColumn Header="Mountain"/>
</controls:DataGrid.Columns>
</controls:DataGrid>
</StackPanel>
<ContentControl Grid.Row="1" prismRegions:RegionManager.RegionName="ContentRegion" />
</Grid>
</ContentControl>
现在该代码适用于 UWP,但它不再适用于 Android。 我在App.xaml.cs
中收到此错误消息:
Prism.Ioc.ContainerResolutionException: 'An unexpected error occurred while resolving 'AndroidTest.Views.Shell''
在 function:
protected override UIElement CreateShell()
{
return Container.Resolve<Shell>();
}
以及以下 output:
Loaded assembly: /data/user/0/AndroidTest.AndroidTest/files/.__override__/System.ComponentModel.DataAnnotations.dll [External]
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.TextBlock] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.TextBox] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.Control] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.FrameworkElement] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.Border] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.ScrollViewer] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[est.AndroidTes] Accessing hidden method Landroid/view/View;->initializeScrollbars(Landroid/content/res/TypedArray;)V (greylist, JNI, allowed)
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.Grid] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.Button] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[est.AndroidTes] Explicit concurrent copying GC freed 90(37KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 2487KB/3316KB, paused 289us total 3.144ms
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.ContentPresenter] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Windows.UI.Xaml.Controls.Primitives.RepeatButton] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[0:] The Bindable attribute is missing and the type [Microsoft.UI.Xaml.Controls.NumberBox] is not known by the MetadataProvider. Reflection was used instead of the binding engine and generated static metadata. Add the Bindable attribute to prevent this message and performance issues.
[monodroid-assembly] open_from_bundles: failed to load assembly en-US/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.resources.dll
[monodroid-assembly] open_from_bundles: failed to load assembly en/Microsoft.Toolkit.Uwp.UI.Controls.DataGrid.resources.dll
**Prism.Ioc.ContainerResolutionException:** 'An unexpected error occurred while resolving 'AndroidTest.Views.Shell''
关于我所缺少的任何想法?
您的问题很可能是 linker 问题。 您可以查看Microsoft 的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.