2016-12-30 3 views
1

Когда я хочу ссылаться на загруженный пакет, например Xlabs или DLToolkit, xamarin всегда будет вызывать ошибку. Более конкретно вот пример моего PCL проекта, ссылающегося на FlowListView от DLToolkitXamarin формирует контрольные ошибки библиотеки библиотеки

Heres код:

<?xml version="1.0" encoding="UTF-8"?> 
    <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
      xmlns:controls="clr-namespace:XLabs.Forms.Controls;assembly=XLabs.Forms.Controls" 
      xmlns:flv="clr-namespace:DLToolkit.Forms.Controls;assembly=DLToolkit.Forms.Controls.FlowListView" 
      x:Class="TamarianApp.ImagePage"> 
     <ContentPage.Content> 
      <Grid> 
       <StackLayout x:Name="mainView"> 
        <ScrollView> 
         <StackLayout> 
          <BoxView Margin="0, -7, 0, 0" HorizontalOptions="FillAndExpand" HeightRequest="1" BackgroundColor="#f1f1f1"></BoxView> 
          <StackLayout x:Name="cameraMenuOption" Padding="10" Orientation="Horizontal" HorizontalOptions="Fill" > 
           <Label Margin="10, 2,0,0" HorizontalOptions="StartAndExpand">Camera</Label> 
           <Label x:Name="camera_label" Margin="10, 2,10,0" FontSize="14" TextColor="#c1c1c1" HorizontalOptions="End"></Label> 
           <Image HorizontalOptions="End" Source="icons/blue/next" WidthRequest="20"></Image> 
          </StackLayout> 
          <BoxView HorizontalOptions="FillAndExpand" HeightRequest="1" BackgroundColor="#f1f1f1"></BoxView> 
          <StackLayout x:Name="libraryMenuOption" Padding="10" Orientation="Horizontal" HorizontalOptions="Fill" > 
           <Label Margin="10, 2,0,0" HorizontalOptions="StartAndExpand">Library</Label> 
           <Label x:Name="library_label" Margin="10, 2,10,0" FontSize="14" TextColor="#c1c1c1" HorizontalOptions="End"></Label> 
           <Image HorizontalOptions="End" Source="icons/blue/next" WidthRequest="20"></Image> 
          </StackLayout> 
         </StackLayout> 
        </ScrollView> 
        <StackLayout BackgroundColor="#fafafa" HorizontalOptions="FillAndExpand" > 
         <BoxView HorizontalOptions="FillAndExpand" HeightRequest="3" BackgroundColor="#f1f1f1"></BoxView> 
        </StackLayout> 
        <StackLayout> 
         <flv:FlowListView FlowColumnCount="3" x:Name="image_gallary"> 
          <FlowListView.ItemTemplate> 
           <DataTemplate> 
            <Grid> 
             <Image Source="{Binding ImageUri}"></Image> 
            </Grid> 
           </DataTemplate> 
          </FlowListView.ItemTemplate> 
         </flv:FlowListView> 
        </StackLayout> 
       </StackLayout> 
       <StackLayout x:Name="picture_view" IsVisible = "false"> 
        <Image x:Name="mainImage" VerticalOptions="Fill" HorizontalOptions="Fill"></Image> 
        <ActivityIndicator x:Name="loading_activity" VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" IsRunning="false"></ActivityIndicator> 
        <StackLayout x:Name="confirm_button" HorizontalOptions="FillAndExpand" Orientation="Horizontal" Padding="15, 10, 15, 10" VerticalOptions="EndAndExpand" BackgroundColor="White"> 
         <Button Text="Confirm" Clicked="upload_clicked" HorizontalOptions="StartAndExpand" FontSize="18"></Button> 
         <Button Text="Cancel" Clicked="cancel_clicked" HorizontalOptions="End" FontSize="18"></Button> 
        </StackLayout> 
       </StackLayout> 
      </Grid> 
     </ContentPage.Content> 
    </ContentPage> 

Вот ошибка:

Позиция 32: 9. Тип FlowListView не найден в Xmlns http://xamarin.com/schemas/2014/forms

Я пробовал: 1. Добавлен FlowListView.Init() для AppDelegate.cs 2. Инициализация управления на бэкэнд: image_gallary = новый FlowListView();

Пожалуйста, помогите, спасибо!

ответ

0

Вместо <FlowListView.ItemTemplate> также объявляйте его как <flv:FlowListView.ItemTemplate>, а также на конце тега. Вам нужно определить, в каком пространстве имен находятся эти объекты.

Если префикса нет, предполагается, что он находится в пространстве имен по умолчанию. Но это не так. Поэтому все, что связано с FlowListView, должно быть префиксным пространством имен в вашем случае flv.

Смежные вопросы