Теперь я начал работать с Prism Framework для xamarine, но у меня возникла небольшая проблема с установлением соединений между представлениями.
У меня есть эта папка "Views", и внутри нее у меня есть еще одна папка с именем PartialViews. Теперь внутри PartialViews у меня есть contentPage под названием «Header.xaml». Теперь я хотел бы прикрепить этот файл к представлению Index.xaml, которое находится в папке Views. Я хотел бы присоединить «Header.xaml» к другим представлениям, как, например, я хотел бы присоединить его к представлению «Orders.xaml».
Мой файл Header.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"
xmlns:prism="http://prismlibrary.com"
xmlns:local="clr-namespace:PROJECTX.Views"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="PROJECTX.Views.Header">
<StackLayout>
<Label Text="Trying partial views" />
</StackLayout>
</ContentPage>
В то время как мой Index.xaml выглядит следующим образом:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:combobox="clr-namespace:Syncfusion.XForms.ComboBox;assembly=Syncfusion.SfComboBox.XForms"
xmlns:ListCollection="clr-namespace:System.Collections.Generic;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="http://prismlibrary.com"
xmlns:local="clr-namespace:PROJECTX.Views"
prism:ViewModelLocator.AutowireViewModel="True"
x:Class="PROJECTX.Views.Index"
x:Name="selfi">
<ScrollView>
<local:Header mvvm:ViewModelLocator.AutowirePartialView="{x:Reference selfi}" />
<combobox:SfComboBox x:Name="comboBox">
<combobox:SfComboBox.ComboBoxSource>
<ListCollection:List x:TypeArguments="x:String">
<x:String>Rendit sipas: Me te kerkuara</x:String>
<x:String>Rendit sipas: Te fundit</x:String>
<x:String>Rendit sipas: Alfabetit</x:String>
</ListCollection:List>
</combobox:SfComboBox.ComboBoxSource>
</combobox:SfComboBox>
</ScrollView>
</ContentPage>
Я также зарегистрировал в своем App.xaml.cs маршрутизацию папки PartialViews с моделью представления следующим образом:
protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
containerRegistry.RegisterForNavigation<NavigationPage>();
containerRegistry.RegisterForNavigation<MainPage, MainPageViewModel>();
containerRegistry.RegisterForNavigation<Index, IndexViewModel>();
//containerRegistry.RegisterForNavigation<Header, HeaderViewModel>();
ViewModelLocationProvider.Register<Header, HeaderViewModel>();
}
Теперь я получаю несколько ошибок ...
1. The property 'Content' is set more than once.
2. The attachable property 'AutowirePartialView' was not found in type 'ViewModelLocator'.
3. Property 'Content' does not support values of type 'Header'.
Теперь я знаю, что это может быть вопрос с ладьей ie, но я просто не могу его ответить работать это частичное мнение вещь. Верно ли мое понимание частичных представлений в xamarin? Я должен вызвать частичное представление из представления ... правильно?
Любая помощь, которую я действительно очень ценю.