제 xamarin 응용 프로그램에서 재사용 가능한 구성 요소를 정의하려고합니다. 내 의도는 여러 파일에서 동일한 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>
관련 클래스 : XAML에서
public partial class AppHeader : StackLayout
{
public AppHeader()
{
InitializeComponent();
}
}
사용
<?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>
동안 재사용 XAML 파일의 응용 프로그램을 실행, 임지고 다음과 같은 오류 :
"이름 'InitializeComponent'는 현재 컨텍스트에 존재하지 않습니다."
구현은 간단하지만 보이지 않는 것을 식별 할 수는 없습니다. 이것에 대한 해결책은 무엇입니까? 도움을 주시면 감사하겠습니다. 감사합니다.
: 그래서 뭔가 것처럼로 편집'X :. 내가 잘못 본게 아니라면 클래스 = "AppHeader은"'당신은 지정해야 거기에 전체 네임 스페이스와 클래스 이름 –
옳다. 전체 네임 스페이스를 제공하면 문제가 해결됨 – user3165999
수락 할 수 있도록 답변으로 업그레이드 해 보겠습니다. –