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>
関連クラス:
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>
でアプリを実行している間、イムは、再利用可能なXAMLファイルに対して次のエラーを取得:
"名前 'InitializeComponent'は現在のコンテキストに存在しません"
実装は簡単ですが、何が欠落しているかを特定することはできません。 これにはどのような解決策がありますか? ご協力いただければ幸いです。 ありがとう
:だから、何かのようにそれがために編集し' X:。私は間違っていない場合は、クラス=「AppHeaderは、」 'あなたは指定する必要がありますそこにフルネームスペースとクラス名 –
正しいです。完全な名前空間を提供すると、問題が解決しました – user3165999
私はそれを受け入れることができるようにアップグレードしましょう –