Формы Xamarin: проблема с использованием представления содержимого

Я использую формы Xamarin с инфраструктурой FreshMvvm. Я создаю страницы в Xaml. Я хочу использовать просмотр содержимого для возобновления на нескольких страницах.

ContentView.xaml:

<?xml version="1.0" encoding="UTF-8"?>
<ContentView xmlns="http://xamarin.com/schemas/2014/forms" 
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
        x:Class="Coc.Core.ContentsView">
    <ContentView.Content>
        <StackLayout BackgroundColor="Silver"> 
            <SearchBar Placeholder="Search"  BackgroundColor="Olive"  />
        </StackLayout>
    </ContentView.Content>
</ContentView>

ContentView.xaml,cs:

using System;
using System.Collections.Generic;
using Xamarin.Forms;

namespace Coc.Core
{
    public partial class ContentsView : ContentView
    {
        public ContentsView()
        {
            InitializeComponent();
        }
    }
}

Домашняя страница.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="Coc.Core.StartUpPage" 
        xmlns:local="clr-namespace:Coc.Core;assembly=Coc.Core"
        Title ="Home">
    <ContentPage.Content> 
        <StackLayout BackgroundColor="Silver" Spacing="30"  Padding ="20,50,20,10" > 
            <Image  />
            <SearchBar Placeholder="Search" />
            <Label Text="Hello" TextColor="Red" Style="{StaticResource infoLabelStyle}"/> 
            <local:ContentsView />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>

Домашняя страница.xaml.cs:

using System;
using System.Collections.Generic;
using FreshMvvm;c
using Xamarin.Forms;

namespace Coc.Core
{
    public partial class StartUpPage : ContentPage
    {
        public StartUpPage()
        {
            InitializeComponent();
        }

    }
}

Когда я пытаюсь использовать ContentView на главной странице, я получаю сообщение об ошибке: Не удалось загрузить файл или сборку coc.core или одну из его сборок.

Может ли кто-нибудь посоветовать, если что-то не так в моем коде.

Спасибо.


person TheDeveloper    schedule 26.09.2016    source источник
comment
Coc.Core - это фактическое имя сборки PCL, в которой находится ваше представление?   -  person Jason    schedule 26.09.2016
comment
Да. Это пространство имен   -  person TheDeveloper    schedule 27.09.2016
comment
Нет, не пространство имен. Фактическое имя DLL, которую создает ваш проект. Посмотрите на имя сборки в параметрах проекта в разделе «Сборка» -> «Вывод».   -  person Jason    schedule 27.09.2016
comment
Это был Кок. Теперь я изменил имя сборки в homepage.xml. Теперь он работает. Спасибо :)   -  person TheDeveloper    schedule 27.09.2016


Ответы (2)


Пожалуйста, измените на следующее:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    xmlns:local="clr-namespace:Coc.Core;assembly=Coc.Core"
    x:Class="Coc.Core.StartUpPage" 
    Title ="Home">
person Vulcan Lee    schedule 27.09.2016

Вероятно, это означает, что ваше имя сборки неверно. Вместо того, чтобы пытаться исправить это, вы можете просто игнорировать его, так как кажется, что вы ссылаетесь на текущую сборку.

Таким образом, ваш HomePage.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="Coc.Core.StartUpPage" 
    xmlns:local="clr-namespace:Coc.Core"
    Title ="Home">
person Stephane Delcroix    schedule 28.09.2016