xaml中的Android原生视图不会显示在Xamarin.Forms中

时间:2017-07-14 22:30:03

标签: c# xaml xamarin xamarin.android xamarin.forms

我正在尝试添加在xaml中声明的Android原生视图(Android.Widgets.TextView)。 I was following the Xamarin documentation here

然而,具有原生视图的xaml文件中的Intelisense显示Android.Widget和Xamarin.Forms命名空间不存在。当我运行应用程序时,一切运行都没有崩溃或调试输出中的任何错误,但Android.Widgets.TextView不显示。我尝试了一个新页面并从上面的链接中复制并粘贴了示例,但遇到了同样的问题。

这是我的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="CrucialExams.Xamarin.Views.FlashCardsPage"
             xmlns:controls="clr-namespace:CarouselView.FormsPlugin.Abstractions;assembly=CarouselView.FormsPlugin.Abstractions"
             xmlns:views="clr-namespace:CrucialExams.Xamarin.Views;assembly=CrucialExams.Xamarin" 
             xmlns:androidWidget="clr-namespace:Android.Widget;assembly=Mono.Android;targetPlatform=Android"
             xmlns:formsAndroid="clr-namespace:Xamarin.Forms;assembly=Xamarin.Forms.Platform.Android;targetPlatform=Android"
             Title="{Binding Title}"
             BackgroundColor="{StaticResource LightBackgroundColor}"
             Padding="0">
    <ContentPage.Content>
        <androidWidget:TextView Text="Native Text" x:Arguments="{x:Static formsAndroid:Forms.Context}" />
        <Grid Margin="3" Padding="5">
        <Grid.RowDefinitions>
            <RowDefinition Height="1*" />
            <RowDefinition Height="9*" />
        </Grid.RowDefinitions>
            <!--<views:PercentageBarView BackgroundColor="Red" Grid.Row="0"></views:PercentageBarView>-->
            <controls:CarouselViewControl   Grid.Row="1"
                                        x:Name="Carousel"
                                        Margin="0"
                                        Position="0" 
                                        ItemsSource="{Binding Pages}" 
                                        VerticalOptions="FillAndExpand" 
                                        HorizontalOptions="FillAndExpand">
            <controls:CarouselViewControl.ItemTemplate>
                <DataTemplate>
                    <Grid Margin="3" Padding="5">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="10*" />
                        </Grid.RowDefinitions>
                        <Frame HasShadow="True" Margin="5" Grid.Row="0">
                            <Frame.GestureRecognizers>
                                <TapGestureRecognizer Tapped="OnCardTapped"/>
                            </Frame.GestureRecognizers>
                            <Label  Margin="5" 
                                    FontSize="25" 
                                    Text="{Binding CurrentText}" 
                                    HorizontalTextAlignment="Center" 
                                    VerticalTextAlignment="Center" />
                        </Frame>
                    </Grid>
                </DataTemplate>
            </controls:CarouselViewControl.ItemTemplate>
        </controls:CarouselViewControl>
        </Grid>
    </ContentPage.Content>
</ContentPage>

和Intelisense:

enter image description here

我定位的是Xamarin.Forms包v2.3.4.247。有什么想法没有显示原生视图?

1 个答案:

答案 0 :(得分:1)

删除代码中的Xaml编译

//[XamlCompilation(XamlCompilationOptions.Compile)]

如果没有这个,您的原生视图将会出现。