我正在尝试在Xamarin中制作一个导航栏。我在MainPage.xaml中创建了一个占位符x:name的上下文视图,当我在xaml.cs页面中调用它时,它说“在当前上下文中不存在占位符”请记住,我真的是Xamarin的新手。任何帮助将不胜感激。在此先感谢
MainPage.xaml
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="1"/>
<RowDefinition Height="44"/>
</Grid.RowDefinitions>
<ContentView x:Name="PlaceHolder" Grid.Row="0"/>
<BoxView BackgroundColor="#DCDCDC" Grid.Row="1"/>
MainPage.xaml.cs
public partial class HomePage : ContentPage
{
void Icon1_Tapped (object sender, System.EventArgs e)
{
var page = new HomePage();
PlaceHolder.ContentView = page.Content;
}
}
}
答案 0 :(得分:0)
您的Page
类只是缺少对InitializeComponent
的调用。那是对页面的部分类的方法调用,该部分类将在内部对XAML文件进行一些处理(更多信息可以在here中找到)。
public partial class HomePage : ContentPage
{
public HomePage()
{
InitializeComponent();
}
void Icon1_Tapped (object sender, System.EventArgs e)
{
var page = new HomePage();
PlaceHolder.ContentView = page.Content;
}
}
还请确保xaml文件具有正确设置的类类型。如果您使用的是ContentPage
,则应该具有以下内容:
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="YourNamespace.HomePage">
<!-- your content -->
</ContentPage