Iam пытается определить повторно используемые компоненты в моем приложении xamarin. Я намерен использовать один и тот же xaml в нескольких файлах. Например, мне нужно определить общий заголовок для моего приложения. Я попытался реализовать это следующим образом: Определить требуемый xaml в отдельном файле. Используйте имя класса, связанное для повторного использования в любом другом xaml.Реализация Многоразовые элементы в форме xamarin
многоразовый XAML:
<?xml version="1.0" encoding="utf-8" ?>
<StackLayout xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AppHeader" BackgroundColor="White"
Spacing="1"
VerticalOptions="Start">
<StackLayout Padding="0,10,0,10"
BackgroundColor="Blue"
Orientation="Horizontal"
Spacing="0">
<Label
Text="AppName"
HorizontalTextAlignment="Center"
HorizontalOptions="Center"
TextColor="White"
></Label>
</StackLayout>
</StackLayout>
Associated Класс:
public partial class AppHeader : StackLayout
{
public AppHeader()
{
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"
xmlns:common="clr-namespace:MyApp;assembly=MyApp"
x:Class="MyApp.SampleView">
<StackLayout>
<common:AppHeader></common:AppHeader>
</StackLayout>
</ContentPage>
Во время работы приложения, Im получаю следующее сообщение об ошибке для многократного использования файла XAML:
«Имя« InitializeComponent »не существует в текущем контексте»
Реализация выглядит просто, но Im не в состоянии определить, что отсутствует. Любое решение для этого? Любая помощь будет высоко оценена. Thanks
в вашем 'StackLayout' у вас есть атрибут для вашего класса:' х:. класс = «AppHeader» 'Если я не ошибаюсь, вы должны указать полное пространство имен, а также ваше имя класса –
Вы правы. Предоставление полного пространства имен разрешило проблему – user3165999
Позвольте мне обновить ее до ответа, чтобы вы могли ее принять –